0

Ruby アプリケーションで作業しており、ファイルを box.net にアップロードしようとしています。私はcurl呼び出しで動作しています

curl https://www.box.com/api/2.0/files/data -H "Authorization: BoxAuth api_key=<API_KEY>&auth_token=<AUTH_TOKEN>" -F folder_id=0 -F filename=@test.txt --trace ~/Desktop/log.txt

これをルビーに翻訳しようとしましたが、次のことを試しました

request = RestClient::Request.new(:method => :post,:url => "https://www.box.com/api/2.0/files/data",:authorization => "BoxAuth api_key=<API_KEY>&auth_token=<AUTH_TOKEN>",:filename => "test.txt", :payload => { :multipart => true, :file => File.new("test.txt"))
request.execute

しかし、「401: Unauthorized」という応答が返ってきます。box-api gem も使用してみましたが、それはバージョン 1.0 の API でしか機能しないようで、2.0 とのインターフェースを試みています。

4

1 に答える 1

2

:headers => {:authorization => "BoxAuth api_key=<API_KEY>&auth_token=<AUTH_TOKEN>"}通話で使ってみてください。これにより、欠落している承認ヘッダーが修正されます。

完全なリクエストは次のようになります。

request = RestClient::Request.new(:method => :post,:url => "https://www.box.com/api/2.0/files/data",:headers => {:authorization => "BoxAuth api_key=<API_KEY>&auth_token=<AUTH_TOKEN>"},:filename => "test.txt", :payload => { :multipart => true, :file => File.new("test.txt")})
于 2012-08-12T23:43:41.007 に答える