Eve*_*ett 7 php oauth google-api-php-client
似乎用于PHP的google-api-php-client的最新版本不符合文档@ https://developers.google.com/drive/web/examples/php
查看src代码我发现它正在寻找下载的JSON中的setAuthConfigFile()方法无法找到的键:client_secret,installed,web,redirect_uris(其他?)在下载的JSON中不存在.仅存在private_key_id,private_key,client_email,client_id和type.
代码和文档似乎真的杂乱无章,不同步......不会是谷歌的第一个.有没有人最近使用该库让OAuth工作?
"服务帐户"和"网络应用程序"之间存在差异,无法调用API.当您创建了一个"服务帐户",您将获得上述文件时,使用JSON文件private_key,client_email,client_id等.
当您创建一个Web应用程序,你会得到一个client_id,client_secret,redirect_uri等.
我建议阅读这些页面以选择您需要的密钥和登录名(在两个页面上,您都可以找到将其集成到PHP中的示例):
您可以使用适用于PHP的Google API客户端库创建使用OAuth 2.0授权访问Google API的Web服务器应用程序.OAuth 2.0允许用户与应用程序共享特定数据,同时保持其用户名,密码和其他信息的私密性.例如,Web应用程序可以使用OAuth 2.0获取用户在其Google Drives中存储文件的权限.
https://developers.google.com/api-client-library/php/auth/web-app
通常,当应用程序使用Google API处理自己的数据而不是用户的数据时,应用程序会使用服务帐户.例如,使用Google Cloud Datastore进行数据持久性的应用程序将使用服务帐户对其对Google Cloud Datastore API的调用进行身份验证.
https://developers.google.com/api-client-library/php/auth/service-accounts