1

RESTful API と OAuth 1.0 を介して Web サービスと対話するデスクトップ アプリケーションがあります。すべてのリソース、認証、get/post 呼び出しを使用して、単純なテキスト データなどを取得および送信できますが、問題はありません。

ただし、バイナリデータを送信するのに苦労しています。このサービスでは、写真を送信できます。一部については、OAuth 以外の API を使用して、プレーン バイナリでファイルを送信することもできます。URL にいくつかのパラメーターを渡すだけで、バイナリ ファイル全体をポストに入れることができます。

OAuth api を介してこれを行うには、問題になります。

このサービスは、投稿に 2 つのパラメーターが必要であることを指定します (これは REST であるため、URL には含まれませんが、POST パラメーターには含まれます)。

image   A binary file, base64 data, or a URL
type    The type of file that's being sent in. Accepted values: file, base64, url

したがって、2 つのパラメーターがあります。image にはファイル自体が含まれ、type はバイナリを指定する「file」になります。しかし、OAuth を使用してこれを含めるにはどうすればよいでしょうか? -image- および -type- パラメーター (およびそれらの値) を使用して署名のベース文字列を生成する必要があることを考えると、これは POST に含まれるパラメーターと照合されます。バイナリ全体をそこに含めることはできません。 image パラメータの値。この場合、どのように行われますか?

4

1 に答える 1

1

nvm、彼らの OAuth API は、ファイルがそこに変数を持つ multipart/form-data であることを期待しており、署名のベース文字列には何もありません (代わりに、非 OAuth API はマルチパートを必要としないため、OAuth もそうではないだろうと予想していました; この分野のドキュメントは少し不足しています)。

于 2012-06-18T02:47:36.383 に答える