ファイルアップロードの際に502 Bad Gatewayが発生する
Google App Scriptを使って、Googleドライブのファイルをbotに投稿しようとしています。
下記のドキュメントに沿って実装をしましたところ、
File Upload / Download - File Upload / Download - LINE WORKS Developers Document (worksmobile.com)アップロードURL取得→正常
ファイルのアップロード→502 bad gateway
となります。
上記ドキュメントのAPIを使って取得した
https://apis-storage.worksmobile.com/k/emsg/r/jp2/hogehoge/hogehoge.pdfのアップロードURLに対し、
header: { Authorization: 'Bearer aaaaa'}
method: 'post'
content-Type: 'multipart/form-data; boundary="-----FAbdqwscICxsOKkldrENKJHYNOheGtA8au51wepDh68RBfQKmv"'
payload: '-------FAbdqwscICxsOKkldrENKJHYNOheGtA8au51wepDh68RBfQKmv\r\nContent-Disposition: form-data; name="filename"; filename="hogehoge.pdf"\r\nContent-type: application/pdf\r\n\r\n (以下略)
とPOSTしましたが、502 Bad Gatewayが返ってきます。
http, httpsどちらでも同様です。
考えられる原因等ございますでしょうか。
投稿に新しいコメントが追加されましたら通知を送信します。
コメント1
업데이트 된 답글입니다.
yamd 投稿者
Google App Sctiptの UrlFetchAppのリファレンスには、payloadにJavaScriptオブジェクトを渡すとmultipart/form-dataになるみたいなことが書かれています。
getRequestを使ってログに吐き出して確認し、それっぽい形で出力されていると思っていました。しかし実際はこのpayloadにオブジェクトをぶん投げてGASにお任せする手法がよくなかったようです。
参考)https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app#fetch(String,Object)
面倒ですが各種パラメータをベタ打ちしたところうまくいきました。
GASに任せて楽せずにちゃんと自分でパラメータを設定しましょうということで、今後の参考になれば幸いです。
2022.05.24
まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。