0

私はこれを数日間見てきましたが、解決策が見つかりませんでした。OAuth-Rubyを使用してファイルをアップロードする方法はありますか?

私はoauthでリソースを保護するRESTシステムを使用しています。システムへのテストデータのアップロードを容易にするために、rubyとoauth-rubyを使用してテストツールを構築しています。しかし、リソースにファイルをアップロードすることはできません。

通常のリクエストを送信すると、すべてが機能しますが、パラメータとしてファイルを追加すると、署名が無効になります。

例:

 @access_token.post("http://.../imageresource", {:name=>"awesome cat"}, {'Content-Type' => 'multipart/form-data'})

動作しますが、私に与えます:

 <error>
    <message>images/POST: Request has no file data</message>
 </error>

投稿にファイルを追加する方法がわかりません。

これについて何か考えはありますか?

ありがとう、

4

2 に答える 2

1

私はこれが古いことを知っていますが、私もこれをやりたいと思っています、これはそれがトリックをすることができるように見えます。

実際には、例のある質問ruby-how-to-post-a-file-via-http-as-multipart-form-data があります。

于 2013-01-09T07:12:29.130 に答える
0

oauthこれは宝石で行うことは不可能であるか、非常に困難です。いずれにせよ、私はその宝石を使ってそれを行う方法を知りません。

signet有効なマルチパートリクエストボディを構築する便利な方法がある限り、私の宝石で簡単に行うことができます。このようなリクエスト本文の構築はOAuthgemの範囲外ですが、ほとんどのHTTPクライアントで非常に簡単に実行できるはずです。その後、gemはリ​​クエストを署名可能httpadapterなフォームに変換できます。signetご希望のHTTPクライアントがでサポートされていない場合はお知らせくださいhttpadapter。すぐに解決します。

fetch_protected_resourceこれがどのように行われるかについてのアイデアを得るには、メソッドの2番目の例を参照してください。

于 2010-11-22T21:50:49.190 に答える