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、またはいくつかの関連する質問で見つけることができるようなものはありません。
この問題を解決する方法について何か提案はありますか?
ありがとうございました。
私たちは同じ問題を抱えており、いくつかのテストの後、Googleはトークンの起源をより徹底的にチェックしているようです。
https://developers.google.com/drive/api/v3/about-auth によると
- ユーザーが承認すると、Googleはアプリケーションに短期間のアクセストークンを与えます。
- アプリケーションはユーザーデータをリクエストし、リクエストにアクセストークンを添付します。
- Googleがリクエストとトークンが有効であると判断した場合、リクエストされたデータを返します。
JSファイルピッカーを使用していて、オブジェクトデータを受信した後、それを$.get
しようとすると、ファイルは正しくダウンロードされましたが、他の場所にある同じURLがエラーを返していました。
[〜#〜]更新[〜#〜]
https://developers.google.com/drive/api/v3/manage-downloads :
Googleドライブに保存されているファイルをダウンロードするには、ダウンロードするファイルのIDと
alt=media
URLパラメータを指定して files.get メソッドを使用します。alt=media
URLパラメータは、コンテンツのダウンロードが要求されていることをサーバーに通知します。