1

GoogleドキュメントリストAPIとOAuth1.0を使用して、GoogleドキュメントからPDFファイルをダウンロードするhttpリクエストを試しています。oauthまたはgoogleドキュメントに外部APIを使用していません。

ドキュメントに従って、ブラウザに配置すると正常に機能するpdfのダウンロードURLを取得しました。

ドキュメントによると、次のようなリクエストを送信する必要があります。

GET https://doc-04-20-docs.googleusercontent.com/docs/secure/m7an0emtau/WJm12345/YzI2Y2ExYWVm?h=16655626&e=download&gd=true  

ただし、ダウンロードURLには、パラメータで何か面白いことが起こっています。次のようになります。

https://doc-00-00-docs.googleusercontent.com/docs/securesc/5ud8e...tMzQ?h=15287211447292764666&amp\;e=download&amp\;gd=true    

(URLの'&amp\;'には実際には'\'がありませんが、'&'としてエスケープしないように、ここに投稿します)。

では、ここではどうなるのでしょうか。15287211447292764666&ae=download&gd=true3つのパラメーターh、e、gdがありますか、それとも値を持つ1つのパラメーターhがありますか、または次の3つのパラメーターと値のペアがあります: h = 15287211447292764666、、(これは事実であり、バグのようです)?amp;e = downloadamp;gd = true

適切なhttpリクエストを作成するには、パラメータの名前と値を正確に知る必要がありますが、私が持っているダウンロードURLは混乱を招きます。さらに、パラメータ名がh、amp;eおよびamp;gdの場合、ファイルコンテンツを取得するために有効なこれらのパラメータを含むリクエストです(そうでない場合はバグのようです)。

ドキュメント(msword docs)のダウンロードとアップロードに問題はなく、ファイルをダウンロードする範囲は正しいです。

さまざまなリクエストを何度も試しました。3つのパラメーター(h、e、gd)を個別に処理すると、が得られUnauthorized 401ます。パラメータが1つしかない場合-hと値15287211447292764666&ae=download&gd=trueを取得 します500 Internal Server Error(google apiの状態:「APIで予期しないエラーが発生しました。」、「問題が解決しない場合は、フォーラムに投稿してください。」)。

パラメータをまったく入力しないか、3つのパラメータ-h、amp; e、amp; gdを入力すると、が得られ302 Foundます。さらにリクエストを送信するリダイレクトを追跡しようとしましたが、それでも実際のpdfコンテンツを取得できませんでした。また、OAuth Playgroundで実験しましたが、どちらも機能していないようです。ダウンロードURLを使用してOAuthでgetリクエストを送信302 Foundすると、PDFコンテンツではなく、で応答します。

ここで何が起こっているのですか?応答でPDFコンテンツを取得するにはどうすればよいですか?助けてください。

4

1 に答える 1

0

oAuth2 (エラー 401) で同じ問題を実験しました。

URLではなくリクエストヘッダーにoAuth2トークンを挿入することで解決しました。

&access_token=<token>URLを次のように置き換えましたsetRequestHeader("Authorization", "Bearer <token>" )

于 2012-06-13T16:13:40.313 に答える