1

私の Rails 3 アプリでは、Oauth2 を使用して正常に認証でき、ファイルのメタデータを取得できます。ダウンロードURLは

https://doc-10-3o-docs.googleusercontent.com/docs/securesc/tj647mo7q16s2rquitcrcv800pkn7gcf/ap67p147th03cn8rjpu68i8qva3p7i8j/1345240800000/02289284805103305740/02289284805103305740/0BwsQ03A3DXbCTVBjUDlNNzNJNDQ?h=16653014193614665626&e=download&gd=true

ドキュメントには、次のことを行う必要があると記載されています。

ファイルのメタデータを ID で取得します。ファイルのコンテンツをダウンロードするには、許可された HTTP GET 要求をファイルの downloadUrl に送信します

Ruby 用の Google API クライアント ライブラリを使用したくありませんが、HTTParty を使用して HTTP リクエストを作成するだけです。

ここに私が仕事をしようとしているコードのスニペットがあります

response = HTTParty.get(https://doc-10-3o-docs.googleusercontent.com/docs/securesc/tj647mo7q16s2rquitcrcv800pkn7gcf/ap67p147th03cn8rjpu68i8qva3p7i8j/1345240800000/02289284805103305740/0?access_token={token})
open("/User/mymachine/test.pdf", 'wb'){|pdf| pdf << response.body}

私はリクエストを間違って作成していると確信しています。どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1

1

Authorization: BearerOAuth 2.0 フローで取得したアクセス トークンと共に、ヘッダーをリクエストに追加する必要があります。

基本的に、HTTP リクエストは OAuth 2.0 ドキュメントにあるものと同じでなければなりません。

https://developers.google.com/accounts/docs/OAuth2WebServer#callinganapi

私は Ruby の専門家ではありませんが、HTTParty を使用したリクエストは次のようになります。

response = HTTParty.get(downloadUrl, :headers => {"Authorization" => "OAuth {token}"})

downloadUrlはファイルのメタデータから取得したものtokenで、認証の実行時に取得したアクセス トークンはどこにありますか。

于 2012-08-18T01:25:07.440 に答える