web-dev-qa-db-ja.com

Google Drive API-申し訳ありませんが……お使いのコンピュータまたはネットワークが自動クエリを送信している可能性があります

GoogleドライブOauth2アプリが統合されています。 GoogleドライブAPIエクスポートを使用してエンドポイントを取得し、Googleドライブフォルダ内の顧客からデータを読み取ります。私たちのアプリはGoogle Oauth検証チームによって公開されましたが、Googleドキュメントファイルではないファイル(csv、xls、xlsx)を読み取ることができません。

これはAPIリクエストのサンプルです:URL:

"https://www.googleapis.com/drive/v3/files/1874uz4MTNer4IszgWG_3pH6VEH2AWJPd?alt=media&access_token=ACCESS_TOKEN"

応答:

"<html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"/><title>Sorry...</title><style> body { font-family: verdana, arial, sans-serif; background-color: #fff; color: #000; }</style></head><body><div><table><tr><td><b><font face=sans-serif size=10><font color=#4285f4>G</font><font color=#ea4335>o</font><font color=#fbbc05>o</font><font color=#4285f4>g</font><font color=#34a853>l</font><font color=#ea4335>e</font></font></b></td><td style=\"text-align: left; vertical-align: bottom; padding-bottom: 15px; width: 50%\"><div style=\"border-bottom: 1px solid #dfdfdf;\">Sorry...</div></td></tr></table></div><div style=\"margin-left: 4em;\"><h1>We're sorry...</h1><p>... but your computer or network may be sending automated queries. To protect our users, we can't process your request right now.</p></div><div style=\"margin-left: 4em;\">See <a href=\"https://support.google.com/websearch/answer/86640\">Google Help</a> for more information.<br/><br/></div><div style=\"text-align: center; border-top: 1px solid #dfdfdf;\"><a href=\"https://www.google.com\">Google Home</a></div></body></html>"

これと同じ種類のリクエストは、2020年2月7日まで問題なく機能していました。

Google Docファイルをエクスポートするエクスポートエンドポイントを使用すると、正常に動作します。

最初の瞬間に、いくつかの変更を説明するこのリンクを見つけました: https://support.google.com/cloud/answer/9110914 Oauth Verification、合格しましたが、Oauth2認証フローをやり直して新しいアクセス/更新トークンを生成しても、同じ問題が発生します。これについては、Issue TrackerとOauth =チームですが、どちらも役に立ちませんでした。私たちは、マルウェア、運用サーバー上のVPN、またはいくつかの関連する質問で見つけることができるようなものはありません。

この問題を解決する方法について何か提案はありますか?

ありがとうございました。

3
Luciano Junior

私たちは同じ問題を抱えており、いくつかのテストの後、Googleはトークンの起源をより徹底的にチェックしているようです。

https://developers.google.com/drive/api/v3/about-auth によると

  1. ユーザーが承認すると、Googleはアプリケーションに短期間のアクセストークンを与えます。
  2. アプリケーションはユーザーデータをリクエストし、リクエストにアクセストークンを添付します。
  3. Googleがリクエストとトークンが有効であると判断した場合、リクエストされたデータを返します。

JSファイルピッカーを使用していて、オブジェクトデータを受信した後、それを$.getしようとすると、ファイルは正しくダウンロードされましたが、他の場所にある同じURLがエラーを返していました。

[〜#〜]更新[〜#〜]

https://developers.google.com/drive/api/v3/manage-downloads

Googleドライブに保存されているファイルをダウンロードするには、ダウンロードするファイルのIDとalt=media URLパラメータを指定して files.get メソッドを使用します。 alt=media URLパラメータは、コンテンツのダウンロードが要求されていることをサーバーに通知します。

0
erKURITA