如何在不复制/粘贴身份验证令牌的情况下使用Google Drive PHP API进行身份验证

如何在不复制/粘贴身份验证令牌的情况下使用Google Drive PHP API进行身份验证,php,authentication,oauth-2.0,google-drive-api,google-api-php-client,Php,Authentication,Oauth 2.0,Google Drive Api,Google Api Php Client,我真的很难理解这是怎么做到的 我已经跟随能够上传一个文件到我们的共享谷歌驱动器帐户。这是从linux机器上的命令行运行的,但它需要我将URL复制/粘贴到浏览器中,复制授权令牌,然后将其粘贴回stdin,然后交换auth令牌以最终获得访问令牌 我所需要做的就是自动化复制/粘贴URL和标记的过程,这样我的脚本就可以完成它需要做的事情,而不需要用户进行任何交互。较旧的DocumentsList API允许我们仅使用用户名/密码进行身份验证。我知道这不再可能与驱动器的Oauth2方法,但它会使我的生活更

我真的很难理解这是怎么做到的

我已经跟随能够上传一个文件到我们的共享谷歌驱动器帐户。这是从linux机器上的命令行运行的,但它需要我将URL复制/粘贴到浏览器中,复制授权令牌,然后将其粘贴回stdin,然后交换auth令牌以最终获得访问令牌

我所需要做的就是自动化复制/粘贴URL和标记的过程,这样我的脚本就可以完成它需要做的事情,而不需要用户进行任何交互。较旧的DocumentsList API允许我们仅使用用户名/密码进行身份验证。我知道这不再可能与驱动器的Oauth2方法,但它会使我的生活更简单一点现在。。!有没有办法从我的应用程序中使用某种持久令牌

谁能给我指出正确的方向吗


关于

您可以获得访问令牌和刷新令牌对,并可以存储它们以供以后使用。您只需要刷新令牌,因为它可以用于获取新的访问令牌


这比用户名/密码稍微好一点,因为如果令牌被泄露,您可以随时撤销对该令牌的访问。

谷歌已经开始实施持久令牌,但目前仅限于一小部分用户。或者,业务用户可以获得整个公司域的持久令牌。最后,一些API仍然使用旧的电子邮件/密码组合。。。感谢阿里·阿夫沙尔的指点。因此,我已经完成了这个过程,并检索了我的访问和刷新令牌。现在,我应该使用哪种格式/方法来使用GooglePHPAPI客户端设置它们?我已尝试在
$\u会话['token']
中设置刷新令牌,然后在
$client->setAccessToken($\u会话['token')但我遇到了一个错误“无法对令牌进行json解码”。有没有一个我可以借鉴的例子?谢谢。我查看了Google API客户端的源代码,setAccessToken方法接受一个JSON字符串,格式为:
{“access_token”:“token”,“refresh_token”:“token”,“token类型”:“Bearer”,“expires_in”:3600,“id_token”:“token”,“created”:1320790426}
我将JSON访问令牌作为字符串保存到
$\u会话['token']
,然后将其传递到
$client->setAccessToken($\u会话['token'])现在我有权限了!!大绿蜱:)太好了。如果有任何进一步的问题,请联系我们。你们中的一位可以把这个例子变成一个代码例子吗?我正在处理同样的问题,试图让我的服务器在没有用户交互的情况下执行自动化过程。