【问题标题】:PHP Google sheets quickstartPHP Google 表格快速入门
【发布时间】:2020-05-12 18:42:20
【问题描述】:

我想将数据导出到谷歌表格,我从https://developers.google.com/sheets/api/quickstart/php 下载了 quickstart.php 脚本我从 cli 启动了脚本,它询问“输入验证码:”并给我一个用浏览器打开的 url,我允许权限并重定向到我的服务器所接收到的显示数组的脚本:

[access_token] => ....

[expires_in] => 3599
[refresh_token] => ...
[scope] => ....
[token_type] => Bearer
[created] => 1589307422

我将 access_token 粘贴到 cli 询问代码,但它返回:

PHP Fatal error:  Uncaught InvalidArgumentException: Invalid token format in /var/www/html/vendor/google/apiclient/src/Google/Client.php:449
Stack trace:
#0 /var/www/html/quickstart.php(45): Google_Client->setAccessToken(Array)
#1 /var/www/html/quickstart.php(63): getClient()
#2 {main}
  thrown in /var/www/html//vendor/google/apiclient/src/Google/Client.php on line 449

怎么了?

【问题讨论】:

  • 如何将 access_token 数组粘贴到客户端?
  • 我制作了一个脚本,用于打印我从 Google 收到的数组。我复制 access_token 数组元素并粘贴到启动 quickstart.php 的 cli 中
  • 您将其传递为STDIN?我认为必须将其转换为数组才能正确解析。
  • 我不知道如何将它作为数组传递,因为 quickstart.php 需要从 cli 启动,它返回我一个 url(从要求自动使用谷歌表的浏览器打开) 并要求输入验证码:我认为是要求访问令牌

标签: php google-sheets


【解决方案1】:

我曾经做过类似的事情:

替换(临时)

$authCode = trim(fgets(STDIN));

与:

$authCode = '4/yQFYBDGKFDSD54546Qhg6BZlT_gCEFZ7ixATB7657oc';

因为我在某处有那个验证码...

希望你也可以这样做来开始它,当然不是最好的方法,但我就是这样做的。

【讨论】:

  • 您好,您还在使用这个解决方案还是偶然发现了其他问题?
  • 目前正在现场工作,不用再看
【解决方案2】:

解决方案

它询问的代码不是访问令牌。此授权流程将实际检索访问令牌。

其实跟教程一样简单:

快速启动并运行后,它会提示您授权访问:

在您的网络浏览器中浏览到提供的 URL。

如果您尚未登录 Google 帐户,系统会提示您登录。如果您登录了多个 Google 帐户,系统会要求您选择一个帐户用于授权。

点击接受按钮。

复制您提供的代码,将其粘贴到命令行提示符中,然后按 Enter。

参考

PHP quickstart

【讨论】:

  • 不,它不提供任何代码要求授权并重定向到我拥有的脚本,即:require DIR 。 '/供应商/autoload.php'; $client = new Google_Client(); $code = $_GET["code"]; $client->setAuthConfig('credentials.json'); $client->setAccessType('offline'); $client->setIncludeGrantedScopes(true); $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);回声“
    ”; print_r($token);回声“
    ”;
  • 好的,你已经有了授权码和访问令牌。因此,您成功完成了身份验证流程。
猜你喜欢
  • 2016-01-07
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-12
  • 1970-01-01
相关资源
最近更新 更多