Bot

ファイルアップロードの際に502 Bad Gatewayが発生する

yamd

2022.05.19既読 1810

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

    0
前の投稿 LINEWORKS API 1.0 でのリクエストがこない
次の投稿【質問】HerokuアプリとGitHubの連携ができない
リスト

まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。