נפתר העלאת הקבצים לא עובדת
-
@Kovy כתב בהעלאת הקבצים לא עובדת:
@Liy כתב בהעלאת הקבצים לא עובדת:
multipart/form-data
עשיתי זאת, ושינוי 'Content-Type' ל-'multipart/form-data' עדיין נותן את השגיאה.
תדפיס בקונסול את הבקשה לפני שהיא נשלחת לשרת ותצרף כאן (כמובן שתסתיר את הטוקן).
וכן את המשתנה url. -
@Liy URL:
https://www.call2all.co.il/ym/api/UploadFile/?
token=fKMlrnTYuMAbXh2P&path=ivr2%3A1%2F1%2F1%2F&autoNumbering=true&convertAudio=1Headers:
{'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'multipart/form-data', 'Content-Length': '387184'}
Body (זהו הקובץ בפורמט בינארי):
b'--a4c071f4d119de3b148a525c2a210632\r\nContent-Disposition: form-data; name="fileContent"; filename="fileContent"\r\n\r\n\xff\xfb\xd0D\x00\x00\x04\xbc{\xa0\x95\x0c\xc0\x02\xa9\x8e\x93\xa1\xa4\xa0\x00U\x91a\x 13\xb9\x88\x00\x02\xa2$"\xb71\x10\x00\x00\x04!\x04\x1c\x0c\\\x00\x00$*\xfcDK\xed\x11\xde\xed\x0c<\x9al@\x86\x19\x17v\xc6!\x91\x9e\xff\x8c\xb2\x18y4\xd8\x81\x0c!\x0fv\xd1\x0eC,\x9d\xb1\x889\x08\xb2i\xb1\x842!\xee\xfce\x90@\xf2d\xe8\xc2\x0eA\x07&\x9e\xc2\x19\x11\xff\xff\xdcc\xdd\xf6\x8f\x19\xff\xff\xff\xda;\xdd\xef\xff\xff\xff\xbf\x11\x8fw\xc9\xe9\x84\x10rd\xf4\xfd\x82\x10\xe4\xd30\x06\xb0@\x00A`0\x1d\x03\xa6a\x04\x1c\x99:&\x9bD=\xdb\x13\xd3\x08\xe4\xc9\xe9\xf6\xd1\x1e\xed\x89\xeb\x19\x1e\xed\x89\xdc\x100=\xb0\x040\xe1\x18&\'H\x02\x01\x83\n1\xff\x84\x14\x14\x00\xb8\x8e\x1c\x00,PV\x02\xe0\xdc\xc9\x0e\xc1\xb8~0\x14\x02\xc3\x11%\xf4B\x05\x03\xf1\xe4\x03@\xf2\x85\xc5\xcf\xa9,\\\xf8\x14\x0f\x0c\xbe\x11\x13\xe1\xdf\x84D\xfa\xdd\xed\x05\x05\x05\x05\xec\x81AJqw\xa9w\xb4\x14\x14\xa4\xa7}\x08\x14\x14\x17\xb2\x05\x05(\xb1s\xea\\\xfbAAD\xff\x84DC\xee\x082\xa5\xde\xa5\xde\xd0PP\xc7\xb8D\xae\xf7{\xd1\x11%2\xc5\xec\x80\xe0\x1a\x07\x81\xfd\x90\r\x03\xca,]\xe5\xdd\xf4\x14\x14\xa4\xa7{B\x05\x05\x0f\xb4\x14\x14\xa7w\xdd\xde\xd0PP\xcf\xe0\x00\x00\xf8\x023\t\x06\x84a\xc0\xd8\x90H"\x08\x02\x00\x00\x0f\xf7\xfd\x06\x01\x05\xcfzr\x10\x92\x99cU\xff5\x19\xb5D\xc1c\xe02\x07\x16\x17\xd8I8_q\x08\xc5\x88\\\xe4\xf9!\xe0\xde\x01\x0b\x06\xd89b&/\xc3\xe8\x1e\xf7\xc4\x90B\xe3\xbcV\xe3\x94.!\x96\x0f\xc4}\x8a/\xe2t\x1dC@f\xc5\xb4Yd\xf2I\x17\xd3*\x7fQ\x13!\x85B(bA\xce\xba)i\xff\xccM\xcd\r\x8b\x8c\\:n\x92+E\x04\x92u\xff\xf4\xd24H\xd13\xc9\xbaj_S\xaa\x8a\xd1\xff\xfeh\x90\ x0c\x17H\x08\x85\xc0\xd4\xac\xc0t\xf7\xff\xf0\xc9\xc0\x88>\x04\x1e\x0f\xfe.\xa6\x13\xde\x80\xa1\x848$\x16+E\xa1\xb0P\x00\x00\xff\x7f\xd4P\xc90\xd6\xf73\xc1\x83\x8c\xef\xf8(\x11\x96\x06"V\x16(\x19\x0cA@G\xb8\x0c0\xef\x88\x182\xc8\xe1\x0e\x86\xf8\\\x00lAp\x04\xa8]\x01p\x07\xd8p|/`rb\x7f\x0c\xb6D\xe1\x03\x16\x01\xcc\x1c\xff\xc5\xc0J\x12\xc4\x1c\x88\x90r\x08N\x9b\x14\x0b\x04\xff\xf5\x1b\x98\x1a\x18"nN\x932\x91\x91\xf3_\xf9\x89\xba\x07\xcb\x8chfn\x8d\x9a\xa4+\xff\xebH\xd1$\x16x>\x0f,\x03"\n\xbb\xf8@\x06\x0b\xa4\x80D\x1d\x1daV\xb0\xd2\xff\xff\x0c\x9c\x08\x85\xc0\x84\x03\xc7\xff8\xa4\xee\x9a\x00\t\x00\x00.\x833B\xb6\xa8\xba\x0b\x80D\x00\xa9Z\xf1\x9c*\xfd\xe3L\xf7S\xc0\xeb\xcd\x81\xa1\x84\xe0~\x10A$\x10\xc2\x10\xc3\x1c\xe3\xd3\\\x041\xc5^\xc2\xaf{\xe8\xcb}\xb38L\xa3\x99\xfc5z\xbdW+\x1a\xa1YFH\x15jV8\xce\x9fQ\xd1^\x87\xbf\x82\x87\xa1\rL\xac\x88c\xc3\xf1\x93\x10\xd3\xf1\xea\x9fW\xc7o\x8f"\x91\xc1\xb1\x92&\xe3\xaa\x11\xf0\xf6\xee\x1bZ\xbd\xce\xcd\xca\x085\xf4xc4\n\xcb\x11\xfb\xf8w\x8fJa\xe3;&_\xff\xfb\xd2DD\x80\x07]~Ga\xe0\x02\xf3\x0f\xc7\xe0\xec<\x00Y\xc5{\x19\xad\xe5\xa3)>b%\xb4\x8fa\xcf\xa8\x8c{s~\xcf\x12H\x9b\xb3c\xda\xaa\xd9"\xce\xc1|j\x1cz\xee$\x08\xf3\xea\x1a\x17>c\xbc\x7f\x8cO\xa8\n\xcc\xfb\xa7\xe3e\xdcI_\xf8\x8c\x91\xc4y\x11\xe4JS=\xdd\xd9\xe3\xb1\xacI#&\xfc\x07R\xb1\xb3\xb1\xb5\x82\xffp\xd9X\xd4\xf0\xe3\xd2\xfa\xa4g\x90c@\x99\xf3#\x1a\xc5#\xe2\xaf\xa8\xdf\x1cyt\x1a\xaaa\xb1\xa4\xbc\x0b\tH\x16\xddA\x8c!m\xd7;__i\x8f\x1bXt\xfbV\x0f\x82\x08H\x05\xc0\x96!\x8c\x1a\x8e/\x94\t\xc8\x0fS\xeeL0\xa3G\x8a\xe1\x11L\xe0\xd2\xbbC\xd5\xec\xea\xb8\xf1c\xb8Bfn\xa3\x83\x03\xeb\xc4oU\xae\xd5\xea\xf8l\xe8y\xd0\xe1\xae\xcfG\x07\x8c\x06\x9bN\xcf\xf5z[\xe1\xcc\xea\x0b\xcc\xc5el`\x9d\xfa\x8e\x19\xa6\xab\xba\x1e\xc7M\xbex\xd8\xacy\x98\xcc\xf1\xe2\xf7\xd0\xdf\xa1\xef\x94\xaf\xa8\xf1\xc6=\xa3eG;\xc6\t\x1e<q\x8d\x85\xc3#\xad*)\x0e\x14xO\xbeg\x80\xc0\xe1\x8b\xb91.\xdc\xa1\xb1\xb3\xc5\x8dya+\x19"Dz\xbbg~u\xc7\x81\x15G3u,\x9c\x89W\xea\xc5^%\x86\xdf\x1d\xfa\xfa\x1e\xe9\xc2h\x99\x7f\x86\x05D\t1\x02\x14\x06\xad\'\xdba\xc9\xe8\xa4d\x91\xba\x1a\xae\x0e\x9b"\xb4\xbf~\xb1*\xdf\xa4\x1b\xbe\x9a\x08v\xc9-\x9aJ\xda\x87\xf6X\xb5D\x86\x8d\xa2\xf0\xf99\x0f\x02H\xf2\xb0\r \x18\x14`b\xa0#\xa0\xa6\x02Pj\x89 ... ... ...
מעניין לציין, שמתי לב שבמערכת הטלפון, מוצג קובץ אבל הגודל הוא 0 בתים, כך שנראה שההעלאה עובדת חלקית.
-
@Kovy הפרמטרים צריכים גם להצטרף לתוכן הטופס ולא להישלח כQuery
-
@Liy אני לא מבין, הפרמטרים נמצאים בכתובת האתר, ותוכן הקובץ נמצא בגוף הקובץ. איך הבקשה אמורה להיראות?
-
@Kovy אתה יכול לשלוח את הפרמטרים בגוף הבקשה, אבל ממה שנראה אצלך הקובץ כן עולה, פשוט משהו לא תקין אולי בבינארי שגורם לו להיות 0 בייט.
-
@avrham
תמיכת הלקוחות נתנה לי עכשיו את הקוד הבא:base_url = "https://www.call2all.co.il/ym/api" command = "UploadFile" token = "Vsy*******8RQI" path = "1/1/1" file_path = "air-raid-siren-225303.mp3" params = { "token": token, "path": path, "file": file_path, "autoNumbering": "true" } files = { "file": open(file_path, "rb") } url = f"{base_url}/{command}/" response = requests.post(url, params=params, files=files) print(response.text)
נראה שזה עובד, אני מקבל את התגובה הבאה:
{"responseStatus":"OK","path":"1\/1\/1","size":387030,"yemotAPIVersion":6,"success":true}
עם זאת, עכשיו כשאני עושה צ'ק-אין ב-1/1/1, אני לא רואה את קובץ האודיו...
-
@Kovy יכול להיות שהשלוחה עדיין לא קיימת?
-
@אביי-ורבא
אני חושב שזה קיים.
-
@Kovy שים לב שהנתיב בבקשה חייב להיות
ivr2:1/1/1
-
עם זה אני מקבל את השגיאה הבאה:
{"responseStatus":"ERROR","message":"path is invalid","messageCode":110,"yemotAPIVersion":6,"success":false}
-
-
-
-
Url:
https://www.call2all.co.il/ym/api/UploadFile/?token=NyUc8ehn3Y8fSvm6&path=ivr2%3A1%2F1%2F1&file=air-raid-siren-225303.mp3&autoNumbering=true
Headers:
{'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '387191', 'Content-Type': 'multipart/form-data; boundary=737d2eb 3cdc58e3f4e8e52d0b92a0c67'}
Body:
b'--737d2eb3cdc58e3f4e8e52d0b92a0c67\r\nContent-Disposition: form-data; name="file"; filename="air-raid-siren-225303.mp3"\r\n\r\n\xff\xfb\xd0D\x00\x00\x04\xbc{\xa0\x95\x0c\xc0\x02\xa9\x8e\x93\xa1\xa4\xa0\x00U \x91a\x13\xb9\x88\x00\x02\xa2$"\xb71\x10\x00\x00\x04!\x04\x1c\x0c\\\x00\x00$*\xfcDK\xed\x11\xde\xed\x0c<\x9al@\x86\x19\x17v\xc6!\x91\x9e\xff\x8c\xb2\x18y4\xd8\x81\x0c!\x0fv\xd1\x0eC,\x9d\xb1\x889\x08\xb2i\xb1 \x842!\xee\xfce\x90@\xf2d\xe8\xc2\x0eA\x07&\x9e\xc2\x19\x11\xff\xff\xdcc\xdd\xf6\x8f\x19\xff\xff\xff\xda;\xdd\xef\xff\xff\xff\xbf\x11\x8fw\xc9\xe9\x84\x10rd\xf4\xfd\x82\x10\xe4\xd30\x06\xb0@\x00A`0\x1d\x03\xa 6a\x04\x1c\x99:&\x9bD=\xdb\x13\xd3\x08 \xe4\xc9\xe9\xf6\xd1\x1e\xed\x89\xeb\x19\x1e\xed\x89\xdc\x100=\xb0\x040\xe1\x18&\'H\x02\x01\x83\n1\xff\x84\x14\x14\x00\xb8\x8e\x1c\x00 ,PV\x02\xe0\xdc\xc9\x0e\xc1\xb8~0\ x14\x02\xc3\x11%\xf4B\x05\x03\xf1\xe4\x03@\xf2\x85\xc5\xcf\xa9,\\\xf8\x14\x0f\x0c\xbe\x11\x13\xe1\xdf\x84D\xfa\xdd\xed\x05\x05\x05\x05\xec\x81AJqw\xa9w\xb4\x14\x14\xa4\xa7}\x08\x14\x14\x17\xb2\x05\x05(\xb1s\x ea\\\xfbAAD\xff\x84DC\xee\x082\xa5\xde\xa5\xde\xd0PP\xc7\xb8D\xae\xf7{\xd1\x11%2\xc5\xec\x80\xe0\x1a\x07\x81\xfd\x90\r\x03\xca,]\xe5\xdd\xf4\x14\x14\xa4\xa7{B\x05\x05\x0f\xb4\x14\x14\xa7w\xdd\xde\xd0PP\xcf\xe 0\x00\x00\xf8\x023\t\x06\x84a\xc0\xd8\x90H"\x08\x02\x00\x00\x0f\xf7\xfd\x06\x01\x05-\xcfzr\x10\x92\x99cU\xff5\x19\xb5D\xc1c\xe02\x07\x16\x17\xd8I8_q\x08\xc5\x88\\\xe4\xf9!\xe0\xde\x01\x0b\x06\xd89b&/\xc3\xe8\ x1e\xf7\xc4\x90B\xe3\xbcV\xe3\x94.!\x96\x0f\xc4}\x8a/\xe2t\x ... ... `
-
עדכון:
- כאשר אני מגדיר את נתיב ההעלאה כ-1/1/1, התגובה היא שההעלאה בוצעה, אך איני רואה את הקובץ מופיע במערכת.
- כאשר אני מגדיר את הנתיב כ-ivr2:1/1/1, אני מקבל שגיאה '"message":"path is invalid","messageCode":110'
- כאשר אני מגדיר את הנתיב כ-'ivr2:Notification/Message', תיקייה שאינה קיימת במערכת, התיקייה נוצרת, הקובץ הועלה בהצלחה ללא שגיאה, ואני יכול לראות את הקובץ במערכת.
אני אפילו יותר מבולבל עכשיו.
-
ברוך השם, זה עובד! הבעיה הייתה זו: הקובץ הוא קובץ 'mp3', והעליתי את הקובץ בלי להשתמש ב-
"convertAudio": "1"
כדי להמיר אותו ל-'wav', ולכן הוא לא הופיע בתוסף.שיניתי את ה-'params' לזה:
params = { "token": token, "path": path, "file": file_path, "autoNumbering": "false", "convertAudio": "1" }
וזה מציג את הודעת התגובה המתאימה:
{"responseStatus":"OK","path":"ivr\/1\/1\/1\/000.wav","size":387030,"convertedSize":193594,"duration":12.096875190734863,"yemotAPIVersion":6,"success":true}
והקובץ מופיע בתוסף.
-
-