bubbleでgoogle cloud storageにファイルをアップロードする方法

◯やりたいこと
bubbleでgoogle cloud storageにファイルをアップロードしたい。

◯現状、問題点
認証は出来ました。
しかし、
1.ドキュメント(Objects: insert  |  Cloud Storage  |  Google Cloud)にはContent-Lengthをヘッダーに含める必要があると記述があったのですが、どう計算してその値を入れればいいのか分かりません(100にしてみたところESOCKETTIMEDOUTになりました。)
2.そのドキュメントを見ても、ファイルをどうやって指定してアップロードすればいいのか分かりませんでした。試しにcontentDispositionにbubble上のファイル名を入れてみても上手くいきませんでした。
3.Content-Typeをimage/jpegにしても、実際にアップロードされたオブジェクトのタイプはapplication/jsonでした。

今のところ、下のスクリーンショットのような状態です(アクセストークン等は隠しています)。
説明が分かりにくかったらすみません。どうかお助けください。
よろしくお願いいたしますm(__)m


Qiita の記事を見ると、ファイルはbodyに入れる方法があるようです。
Body typeをForm-dataにしてはどうでしょうか?
curlでアップロードする方法を試してみて、それをAPI Connectorに書き直すのがよいかと思います:sweat_drops:

「いいね!」 2

@jansnap さん
ご返信ありがとうございます。
知識不足ですみません。
Form-dataは、ファイルをアップロードしたいときに使うものという認識で正しいですかね。
あとその記事を見ると、
–data-binary @${OBJECT}
(OBJECTはアップロードしたいファイルのローカルパス)
と書かれているのですが、これでファイルをアップロードするのですよね。
これはAPIコネクターではどのように記述すればいいのでしょうか
keyとvalueに何を入れるべきなのか、そしてbubbleにアップロードされたファイルの指定方法が分かりませんでした(そもそもこの私の考え方自体間違っているのでしょうか)。
勉強不足ですみません。検索しても引っかからず…
よろしくお願いいたします。

よく調べずに返信してしまってすみません。
Body typeを「From-data」にするとファイルが送信できるのですが、
パラメタのkey名をどうすればいいか分かりませんでした:sweat_drops:

公式サイトにファイルアップロードに関する記載はありますが、
フォーラムでは未サポートと言っている人がいます。
お役に立てずすみません。。。

POSTのbodyではなくパラメタでファイルを渡すなら、Body typeを「Form-data」にすると、「Send file」という形式が選べるようになります。

「いいね!」 1

APIコネクタだけでは難しいケースと思います。
Bubbleのみで実現する場合は、PluginとしてServerSide開発が必要になるかと。
Node.jsでGoogleが提供しているnpmパッケージを読み込んで開発となります・・・。

比較的簡単に実現しようとすると、Integromat(現Make)などのiPaas環境を間に挟んであげることで簡易に実現可能です。
この場合、Integromat側でGCS向けの接続設定を作り、BubbleからIntegromatのWebhookの口に向かってファイルを送信し、IntegormatでGCSにUPする形となります。

「いいね!」 2

jansnapさん、yukikunさん、本当にありがとうございます!!
とても勉強になりました。
makeを使うのは完全に盲点でした。やってみます!