Google Drive API 失败 - 来自您的计算机网络的异常流量

P.F*_*pov 5 google-drive-api

Google Drive API GET 查询开始失败(我们在我们的客户端服务之一中使用此 API):

https://www.googleapis.com/drive/v3/files/1ke4Yoxxxxxxxxxxxxxx?alt=media&access_token=ya29.ImG9BwT.....
Run Code Online (Sandbox Code Playgroud)

很抱歉... ...但是您的计算机或网络可能正在发送自动查询。为了保护我们的用户,我们现在无法处理您的请求。有关详细信息,请参阅 Google 帮助...“来自您的计算机网络的异常流量”

直到今天一切都很好。

刚刚用 curl 做了几个测试:

  1. 在 HTTP 标头中使用 access_token 的 HTTP GET:curl -H "Authorization: Bearer ya29._valid_access_token" https://www.googleapis.com/drive/v3/files/1r5BT2WPrulQ6FyhT8RcqV51TVOThEmhK?alt=media

结果:成功,文件下载。

  1. 使用 access_token 作为 HTTP 请求一部分的 HTTP GET:curl https://www.googleapis.com/drive/v3/files/1r5BT2WPrulQ6FyhT8RcqV51TVOThEmhK?alt=media&access_token=ya29._valid_access_token

结果:错误

    {
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "dailyLimitExceededUnreg",
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued       use requires signup.",
    "extendedHelp": "https://code.google.com/apis/console"
   }
  ],
  "code": 403,
  "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
 }
} 
Run Code Online (Sandbox Code Playgroud)

注意谷歌API项目被谷歌批准并有Production状态!!!

您好 Google 团队,您知道为什么会这样吗?

谢谢

Iam*_*hus 4

发布此内容仅用于文档目的。根据Tanaike 提供的参考资料,自 2020 年 1 月 1 日起:

将不再支持使用查询参数中的访问令牌进行身份验证的 files.get、revisions.get 和 files.export 端点的下载调用。

只有下载媒体内容 ( alt=media) 的请求才会受到此更改的影响。

访问令牌应在 HTTP 标头中提供,例如Authorization: Bearer oauth2-token,或者,如果不可能,请遵循参考文档中提供的解决方法:

对于文件下载,重定向到 webContentLink,它将指示浏览器下载内容。如果应用程序想要向用户显示文件,他们可以简单地重定向到 v2 中的alternateLink 或v3 中的webViewLink。

对于文件导出,请使用所需的 mime 类型重定向到 exportLinks 中的导出链接,这将指示浏览器下载内容。

参考: