首页 > 解决方案 > Google Drive API 失败 - 来自您的计算机网络的异常流量

问题描述

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

https://www.googleapis.com/drive/v3/files/1ke4Yoxxxxxxxxxxxxxx?alt=media&access_token=ya29.ImG9BwT.....

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

直到今天一切都很好。

刚刚用 curl 做了几个测试:

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

结果:成功,文件下载。

  1. HTTP GET 与 access_token 作为 HTTP 请求的一部分: 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."
 }
} 

请注意,Google API 项目已通过 Google 批准并处于 Production 状态!!!

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

谢谢

标签: google-drive-api

解决方案


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

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

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

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

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

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

参考:


推荐阅读