我现在花了好几个小时完成这项工作,而我的文档已经用完,无法阅读如何让这么简单的过程正常工作。这是我理想的情况。
我有一个谷歌驱动器选择器的javascript版本(我也花了几个小时才终于找到了我想谷歌称为Google Picker API的东西)。一旦我找到它,它就像一个魅力和我曾经希望的一切。 (有点)。我需要做的是选择器返回file_id(它做)然后我在php脚本中使用该文件ID通过wget调用获取文件然后我将文件保存在我的服务器上。我无法得到正确的卷曲请求所以我使用googles php库,我宁愿不使用它,但无论如何都会使它工作。
我非常大的问题是我已经尝试过javascript api和php api甚至google自己的资源管理器api,我在我尝试过的几个不同的google驱动器帐户中选择的任何文件上都找不到文件错误。我已经能够修复无数的描述性(或缺少)错误,我终于解决了这个错误,我无法通过。 javascript api返回错误400“必需值:id”,即使我知道值正在填充正确。 php库返回错误404:File Not Found
我已启用并运行Google Drive API。我启用了Google云端硬盘SDK,但似乎运行正常。我在其他地方读过这可能是文件权限错误,但如果问题就解决这个问题我没有指示。
为了记录,我还必须进行Dropbox集成,从开始到结束的整个集成不到30分钟。
万一我的api键丢失了(有太多的东西),对于选择器,我需要从Google Cloud界面中获取以下内容。 .setDeveloperKey是浏览器密钥API密钥,.setAppId是Oauth 2.0客户端ID。
当我设置php库并构建客户端时,$ client-> setClientId()是我的Oauth 2.0客户端ID和$ client-> setDeveloperKey()是我的服务器密钥API密钥正确吗?
答案 0 :(得分:1)
就我而言,结果是范围问题。当我使用'https://www.googleapis.com/auth/drive.file'
时,我为任何文件获得了404。但是,当我使用'https://www.googleapis.com/auth/drive.readonly'
时,我可以获取元数据和exportLink以下载文件内容等。
按https://developers.google.com/drive/web/scopes,'文件'范围允许访问由应用创建或打开的文件,而“只读”'范围没有这个约束。
答案 1 :(得分:0)
您需要代表用户授权和验证您的请求,密钥和您的客户端ID不足以访问用户的非公开文档。在https://developers.google.com/drive/quickstart-php
上解释了Auth for PHP