Google Drive API downloadUrl不起作用

时间:2015-02-05 20:05:57

标签: google-drive-api

  • 我在Google云端硬盘上录制了一些录音
  • 任何拥有链接"
  • 的人都可以查看这些文件
  • 我创建了一个链接到这些文件的播客源

要让播客客户端下载文件,需要直接下载链接。 Google云端硬盘API会在文件的元数据中返回两个可以扮演此角色的字段:

  • webContentLink旨在用于浏览器。它允许我的播客客户端下载小于25MB的文件;不幸的是,超过这个数量,Google需要用户确认,因为该文件未经过病毒扫描。此用户确认步骤会阻止我的播客客户端下载文件超过25MB。
  • downloadUrl是您应该使用的,但我根本无法使用它。如果我将downloadUrl直接复制粘贴到我的浏览器地址栏中,我什么也得不到。同样,我的播客客户端无法通过downloadUrl下载任何内容。

This issue似乎没有得到解决,并表示这仍然存在,但我有几个问题:

  • 我是否需要使用downloadUrl请求提交API密钥? webContentLink不需要密钥。
  • 是否有针对此问题的解决方法?

1 个答案:

答案 0 :(得分:0)

使用downloadUrl请求文件时,必须在请求标头中指定以下授权:

"Authorization: Bearer $token"

其中$ token是gapi为用户返回的access_token,如下所示:

gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().access_token;

因此,如果您使用curl,则请求将如下所示:

curl -o download -H "Authorization: Bearer $token" $downloadUrl