Google 驱动器 API:很抱歉,您的计算机或网络可能正在发送自动查询
Google Drive API: we're sorry but your computer or network may be sending automated queries
我知道这个问题在去年被问过多次,但我似乎无法得到有效的答案。我正在尝试使用此 url:
从 Google 驱动器下载文件
https://www.googleapis.com/drive/v3/files/12BeD3I6JoRMfgeEJfZpZGEGew4Ncpw4i?alt=media&access_token=ya29.a0AfH6SMDyh3TTrbXZxSxQkuwj
(此处为简洁起见缩短了令牌)
响应为 403 禁止访问,解释为“很抱歉,您的计算机或网络可能正在发送自动查询。为了保护我们的用户,我们现在无法处理您的请求。”。
我们是经过验证的应用程序,访问文件列表和上传文件没有问题。我们确实打算以自动方式下载文件,但我在第一次尝试时就看到了这个错误。
我确实找到了关于此主题的另一个问题,解决方案是使用授权 header。这就是我们的 header 的样子:
Host: www.googleapis.com
User-Agent: comaxis-agent/1.0
Accept: */*
Content-Type: application/json
Authorization: bearer ya29.a0AfH6SMDyh3TTrbXZxSxQkuwj
(再次,令牌缩短)
这个不行,没有变化。有人可以帮忙吗?
修改点:
从 2020 年 1 月开始,访问令牌不能与 access_token=###
等查询参数一起使用。 Ref 我认为这就是您遇到问题的原因。所以现阶段要求在请求头中使用access token。这在你的问题中已经提到了。
关于您的以下请求
Host: www.googleapis.com
User-Agent: comaxis-agent/1.0
Accept: */*
Content-Type: application/json
Authorization: bearer ya29.a0AfH6SMDyh3TTrbXZxSxQkuwj
https://www.googleapis.com/drive/v3/files/###?alt=media
是 GET 方法。在这种情况下,不需要 Content-Type
。并且,请将bearer
修改为Bearer
以上几点反映到curl命令后,就变成了下面的样子。
curl 命令示例:
curl \
-H "Authorization: Bearer ###" \
"https://www.googleapis.com/drive/v3/files/12BeD3I6JoRMfgeEJfZpZGEGew4Ncpw4i?alt=media"
- 当该文件是二进制文件时,可能需要
-o filename
选项。
注:
- 当您要下载Google Docs(Document、Spreadsheet、Slides等)文件时,请使用导出方式。 Ref
参考:
我知道这个问题在去年被问过多次,但我似乎无法得到有效的答案。我正在尝试使用此 url:
从 Google 驱动器下载文件https://www.googleapis.com/drive/v3/files/12BeD3I6JoRMfgeEJfZpZGEGew4Ncpw4i?alt=media&access_token=ya29.a0AfH6SMDyh3TTrbXZxSxQkuwj
(此处为简洁起见缩短了令牌)
响应为 403 禁止访问,解释为“很抱歉,您的计算机或网络可能正在发送自动查询。为了保护我们的用户,我们现在无法处理您的请求。”。
我们是经过验证的应用程序,访问文件列表和上传文件没有问题。我们确实打算以自动方式下载文件,但我在第一次尝试时就看到了这个错误。
我确实找到了关于此主题的另一个问题,解决方案是使用授权 header。这就是我们的 header 的样子:
Host: www.googleapis.com
User-Agent: comaxis-agent/1.0
Accept: */*
Content-Type: application/json
Authorization: bearer ya29.a0AfH6SMDyh3TTrbXZxSxQkuwj
(再次,令牌缩短)
这个不行,没有变化。有人可以帮忙吗?
修改点:
从 2020 年 1 月开始,访问令牌不能与
access_token=###
等查询参数一起使用。 Ref 我认为这就是您遇到问题的原因。所以现阶段要求在请求头中使用access token。这在你的问题中已经提到了。关于您的以下请求
Host: www.googleapis.com User-Agent: comaxis-agent/1.0 Accept: */* Content-Type: application/json Authorization: bearer ya29.a0AfH6SMDyh3TTrbXZxSxQkuwj
https://www.googleapis.com/drive/v3/files/###?alt=media
是 GET 方法。在这种情况下,不需要Content-Type
。并且,请将bearer
修改为Bearer
以上几点反映到curl命令后,就变成了下面的样子。
curl 命令示例:
curl \
-H "Authorization: Bearer ###" \
"https://www.googleapis.com/drive/v3/files/12BeD3I6JoRMfgeEJfZpZGEGew4Ncpw4i?alt=media"
- 当该文件是二进制文件时,可能需要
-o filename
选项。
注:
- 当您要下载Google Docs(Document、Spreadsheet、Slides等)文件时,请使用导出方式。 Ref