Google Drive API - 下载文件问题(javascript,php)

问题描述:

我试图从Google云端硬盘下载文件到我的硬盘。整个认证在JavaScript中完成,我接收到来自服务器的响应:Google Drive API - 下载文件问题(javascript,php)

请求= gapi.client.drive.files.get({ 'FILEID':ID}); request.execute(函数(RESP){} ........

我必须按顺序正确的范围被允许下载文件:

https://www.googleapis.com/auth/drive

也高于请求返回我downloadUrl。

我想将downloadUrl发送给PHP,但下载过程失败并出现401错误。

有什么建议吗?我试图直接用Javascript下载文件,但我还没有找到一个好的解决方案。

谢谢,让我知道你是否有任何问题。 这是我的第一个问题在这里,因为这个人是我的命:d

+0

你能发布确切的401错误吗?我的猜测是你的PHP脚本没有权限下载它从JavaScript发送它的访问令牌。 https://developers.google.com/drive/v3/web/manage-downloads – DaImTo

+0

@DaImTo是的,这是问题所在。但我不知道如何从JS发送访问令牌,如果我正在对PHP进行新的身份验证,我收到了:

类型:Google_Service_Exception

消息:错误调用GET https://www.googleapis。 com/drive/v2/files/0BzoBu-s2PDkDRjhHU1RLZFhkOEk?alt = media:(403)超出未认证使用的每日限额。继续使用需要注册。

- 从未有过这个问题。 –

这是一个公共文件或私有文件?您是否在PHP中将正确的身份验证令牌发送给GDrive? 401还有其他警告/错误吗?

401与GDrive API意味着您提供的凭据无效。您不能在PHP中提供正确的身份验证,或者至少与您在JS中使用的权限不同。

+0

这是我尝试在downloadUrl上的file_get_content时得到的错误:HTTP请求失败! HTTP/1.0 401未授权 –

+0

该文件是私人文件,但我与公用文件存在相同的问题。 –

+0

一旦你得到下载网址,你仍然需要通过你的认证令牌来下载它。您仍然必须在PHP中设置授权标头。 – JonLuca

谢谢大家的帮助。这个主题帮助了我很多: Newbie Google Drive API (PHP) confusion - what guide/library to use?

这个问题确实是auth在PHP中,或者更好,缺乏它。