【问题标题】:Invalid token format google people无效的令牌格式谷歌人
【发布时间】:2021-06-29 15:23:45
【问题描述】:

我使用 google api people 在 php 中查看 google 联系人。

我拿了这个例子https://github.com/googleapis/google-api-php-client/blob/master/examples/simple-file-upload.php和一个api quickstart.php

我收到错误消息:“无效的令牌格式”,我使用 symfony。

我很好地遵循了 github 文档,但没有运行

这是这一行

if (isset($_REQUEST['logout'])) {
  unset($_SESSION['upload_token']);
}


if (isset($_GET['code'])) {

  $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
  $client->setAccessToken($token);

  // store in the session also
  $_SESSION['upload_token'] = $token;

  // redirect back to the example
  header('Location: ' . filter_var('http://localhost:8000/', FILTER_SANITIZE_URL));
}


if (!empty($_SESSION['upload_token'])) {
  $client->setAccessToken($_SESSION['upload_token']);
  if ($client->isAccessTokenExpired()) {
    unset($_SESSION['upload_token']);
  }
} else {
  $authUrl = $client->createAuthUrl();
}

【问题讨论】:

  • 你能包含完整的错误信息吗?该错误应该指出我们首先查看的位置或问题的原因。
  • 当你使用 Symfony 标签时,我想你正在使用 Symfony 框架,而不仅仅是一些组件。您是否阅读过有关 Symfony 如何处理 Session 的文档? (以及关于请求部分)

标签: php symfony google-api google-oauth google-people-api


【解决方案1】:

您能否先尝试通过键入以下内容来启动文档上方的会话:

session_start();

您需要在 5 到 6 行之间添加以下代码来测试 $token 是一个带有 access_token 键而不是错误键的数组。

if ($token['error']) {
        error_log("$token[error]: $token[error_description]");
    }

我希望这个答案对你有帮助,我会在下面留下一些链接,希望你检查一下,如果你有问题,请告诉我

https://www.php.net/manual/en/book.session

https://github.com/googleapis/google-api-php-client/issues/1496

【讨论】:

  • 我已经放了一个 session_start(),当我到达页面时,如果我刷新它,就会出现无效令牌错误
  • 如果你使用 Symfony 框架,你不需要使用 session_start()
  • 如果我没有设置 session_start 我有这个错误信息 "error": { "code": 401, "message": "Request is missing required authentication credential. Expected OAuth 2 access token,登录 cookie 或其他有效的身份验证凭据。见 developers.google.com/identity/sign-in/web/devconsole-project.", "errors": [ { "message": "Login Required.", "domain": "global", "reason": "required", "location" : "Authorization", "locationType": "header"
猜你喜欢
  • 2016-10-11
  • 2020-01-01
  • 1970-01-01
  • 2018-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
相关资源
最近更新 更多