HTTP リクエストで「multipart/form-data」

Chatwork APIで「チャットに新しいファイルをアップロード」をしたいです。

HTTP リクエストのアクティビティで試みたのですがうまくできません。

Content-Type: multipart/form-data でのリクエスト
file

設定の仕方をご教授頂けると幸いです。

こんにちは。

ChatworkのAPIは触ったことがないので該当アクティビティ(UiPath.Web.Activities にはいっているやつです)の一般論ですが
「multipart/form-data」については、アクティビティのプロパティに、添付したいファイルをCollectionで指定する項目があるので、そこにフルパスを指定すればよろしいかと思います。

ワークフローを添付しましたので、ご一読ください。

Main.xaml (4.8 KB)

Chartworkの APIに対してではないですが multipart/form-data を受けるサービスに下記の電文を投げていることを確認済みです

POST https://[Chatwork url] HTTP/1.1
Accept: */*
User-Agent: RestSharp/106.3.1.0
Content-Type: multipart/form-data; boundary=-----------------------------28947758029299
Host: [Chatwork url]
Content-Length: 31673
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

-------------------------------28947758029299
Content-Disposition: form-data; name="file"; filename="samples.xlsx"
Content-Type: application/octet-stream

バイナリデータ
...

API仕様を見たら、リクエストヘッダに X-ChatWorkToken なども必要ぽいですが、もちろんそれらもアクティビティにある「ヘッダ」プロパティ で設定できると思います。

よろしくおねがいします。

2 Likes

追記ですが、Chatwork API の仕様上オプションですが message も渡す場合は、添付ファイル側ではなく「パラメータ」プロパティ側にセットです。念のため。

うまくいくといいですね。。

2 Likes

masatomix 様

親切な回答ありがとうございます!
xamlも参考になり、おかげでうまく投稿することができました!

オプションのHeaderに

Content-Type: multipart/form-data

の指定は不要だったんですね。

添付ファイルの項目からファイルパスを指定したら、簡単で感動しました。

とても勉強になりました!

1 Like

うごいてよかったですね。
ひきつづきがんばってくださいー

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.