Google Drive API - 下载文件问题(javascript,php)
我试图从Google云端硬盘下载文件到我的硬盘。整个认证在JavaScript中完成,我接收到来自服务器的响应:Google Drive API - 下载文件问题(javascript,php)
请求= gapi.client.drive.files.get({ 'FILEID':ID}); request.execute(函数(RESP){} ........
我必须按顺序正确的范围被允许下载文件:
也高于请求返回我downloadUrl。
我想将downloadUrl发送给PHP,但下载过程失败并出现401错误。
有什么建议吗?我试图直接用Javascript下载文件,但我还没有找到一个好的解决方案。
谢谢,让我知道你是否有任何问题。 这是我的第一个问题在这里,因为这个人是我的命:d
这是一个公共文件或私有文件?您是否在PHP中将正确的身份验证令牌发送给GDrive? 401还有其他警告/错误吗?
401与GDrive API意味着您提供的凭据无效。您不能在PHP中提供正确的身份验证,或者至少与您在JS中使用的权限不同。
这是我尝试在downloadUrl上的file_get_content时得到的错误:HTTP请求失败! HTTP/1.0 401未授权 –
该文件是私人文件,但我与公用文件存在相同的问题。 –
一旦你得到下载网址,你仍然需要通过你的认证令牌来下载它。您仍然必须在PHP中设置授权标头。 – JonLuca
谢谢大家的帮助。这个主题帮助了我很多: Newbie Google Drive API (PHP) confusion - what guide/library to use?
这个问题确实是auth在PHP中,或者更好,缺乏它。
你能发布确切的401错误吗?我的猜测是你的PHP脚本没有权限下载它从JavaScript发送它的访问令牌。 https://developers.google.com/drive/v3/web/manage-downloads – DaImTo
@DaImTo是的,这是问题所在。但我不知道如何从JS发送访问令牌,如果我正在对PHP进行新的身份验证,我收到了:
类型:Google_Service_Exception
消息:错误调用GET https://www.googleapis。 com/drive/v2/files/0BzoBu-s2PDkDRjhHU1RLZFhkOEk?alt = media:(403)超出未认证使用的每日限额。继续使用需要注册。
- 从未有过这个问题。 –