前提・実現したいこと
WebRequestを使って、画像を送りたいです。
APIdocを参考に書いたのですが、400エラーになりうまくいきません。
https://notify-bot.line.me/doc/ja/
発生している問題・エラーメッセージ
result_text : {status:400,message:message: 遨コ隕∫エ縺ッ險ア蜿ッ縺輔l縺ヲ縺・∪縺帙s}
該当のソースコード
#define END_POINT_URL "https://notify-api.line.me/api/notify" #define LINE_TOKEN "TOKEN" void line() { //string img = "Screenshot.jpg"; //string path = TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL4\\Files\\" + img; char message_data[], result[], temp[]; int filehandle = FileOpen( "Screenshot.jpg", FILE_READ | FILE_BIN ); if( filehandle != INVALID_HANDLE ) { FileReadArray( filehandle, temp ); Alert( "size : " + ArraySize( temp ) ); }else{ Alert( "error" ); } string message_text = ""; string RequestMethod = "POST"; //string headers = "Content-Type: image/jpg" + "\r\n"; //string headers = "Content-Type: application/x-www-form-urlencoded" + "\r\n"; //string headers = "Content-Type: application/json" + "\r\n"; string headers = "Content-Type: multipart/form-data" + "\r\n"; headers += "Authorization: Bearer " + LINE_TOKEN + "\r\n\r\n"; int timeout = 10000; string result_headers = NULL; message_text = "message="; message_text += "testmessage"; message_text += "&imageFile="; message_text += CharArrayToString( temp ); Alert( message_text ); StringToCharArray( message_text,message_data, 0 );//,0, StringLen(message_text) ); int res = WebRequest(RequestMethod, END_POINT_URL, headers, timeout, message_data, result, result_headers); if(res==-1) { Print("Error in WebRequest. Error code =",GetLastError()); return; } else { string result_text = StringConcatenate(CharArrayToString(result,0,ArraySize(result))); int replaced = StringReplace(result_text,"\"",""); Alert( "result_text : " + result_text ); } }
試したこと
APIを見て思った事
・Content-Typeは2種類しか使えない
・画像は、jpg, pngしか送信できない。
・messageは必須
これを踏まえて書いたのですが、うまくいきませんでした。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/25 19:41