Google 驱动器 API downloadUrl 不起作用
Google Drive API downloadUrl does not work
- 我在 Google Drive
上有一些录音
- 文件是 "viewable by anyone with the link"
- 我创建了一个播客提要,link这些文件
为了让播客客户端下载文件,需要直接下载 link。 Google Drive API returns 文件元数据中的两个字段可以起到这个作用:
webContentLink
旨在在浏览器中使用。它允许我的播客客户端下载小于 25MB 的文件;不幸的是,超过此数量 Google 需要用户确认,因为该文件未经过病毒扫描。如果文件超过 25MB,此用户确认步骤会阻止我的播客客户端下载文件。
downloadUrl
是你应该使用的,但我根本无法让它工作。如果我将 downloadUrl
直接复制粘贴到浏览器的地址栏中,我什么也得不到。同样,我的播客客户端无法使用 downloadUrl 下载任何内容。
This issue 似乎未解决并表明这仍然存在问题,但我有几个问题:
- 我是否需要在 downloadUrl 请求中提交 API 密钥? webContentLink 不需要密钥。
- 这个问题有解决方法吗?
使用 downloadUrl 请求文件时,您必须在请求中指定以下授权 header:
"Authorization: Bearer $token"
其中 $token 是 gapi
为用户返回的 access_token,如下所示:
gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().access_token;
因此,如果您使用 curl,请求将是这样的:
curl -o download -H "Authorization: Bearer $token" $downloadUrl
- 我在 Google Drive 上有一些录音
- 文件是 "viewable by anyone with the link"
- 我创建了一个播客提要,link这些文件
为了让播客客户端下载文件,需要直接下载 link。 Google Drive API returns 文件元数据中的两个字段可以起到这个作用:
webContentLink
旨在在浏览器中使用。它允许我的播客客户端下载小于 25MB 的文件;不幸的是,超过此数量 Google 需要用户确认,因为该文件未经过病毒扫描。如果文件超过 25MB,此用户确认步骤会阻止我的播客客户端下载文件。downloadUrl
是你应该使用的,但我根本无法让它工作。如果我将downloadUrl
直接复制粘贴到浏览器的地址栏中,我什么也得不到。同样,我的播客客户端无法使用 downloadUrl 下载任何内容。
This issue 似乎未解决并表明这仍然存在问题,但我有几个问题:
- 我是否需要在 downloadUrl 请求中提交 API 密钥? webContentLink 不需要密钥。
- 这个问题有解决方法吗?
使用 downloadUrl 请求文件时,您必须在请求中指定以下授权 header:
"Authorization: Bearer $token"
其中 $token 是 gapi
为用户返回的 access_token,如下所示:
gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().access_token;
因此,如果您使用 curl,请求将是这样的:
curl -o download -H "Authorization: Bearer $token" $downloadUrl