【问题标题】:Wrong number of segments in token (Refresh Token)令牌中的段数错误(刷新令牌)
【发布时间】:2015-07-15 08:24:34
【问题描述】:

问题是当我为https://www.googleapis.com/auth/analytics.readonly 请求刷新令牌和 运行

$client->refreshToken(<TOKEN>); 
$client->verifyIdToken();

返回错误

("令牌中的段数错误").

奇怪的是,当我请求数组的刷新令牌时

('https://www.googleapis.com/auth/analytics.readonly','https://www.googleapis.com/auth/plus.login') 

它就像魅力一样。

代码:

$client->setScopes(array('https://www.googleapis.com/auth/analytics.readonly','https://www.googleapis.com/auth/plus.login'));
$client->setRequestVisibleActions('http://schema.org/AddAction');
$client->setAccessType('offline');
$client->setApprovalPrompt('force');

谁能解释一下?

【问题讨论】:

  • 这是你使用的php客户端库吗?还是您手动编码?
  • 是的,我使用客户端库

标签: php google-api google-analytics-api google-api-php-client


【解决方案1】:

我会检查 &lt;TOKEN&gt; 的设置。我猜它可能设置为空,因为analytics.readonly 不是有效范围。 'https://www.googleapis.com/auth/analytics.readonly' 是一个有效范围,因为这是范围的纯 url。

如果你使用的是 PHP 客户端库,你应该像这样添加范围

$client->addScope(Google_Service_Analytics::ANALYTICS_READONLY);

Hello Analytics php tutorial

【讨论】:

  • 这就是我使用的范围。我在写这个问题时缩短了它。 不为空。
  • 你应该发布你正在使用的确切代码而不是缩短它,否则我们无法帮助你找到你的错误。
猜你喜欢
  • 2022-07-15
  • 2022-11-22
  • 2021-03-07
  • 2017-12-12
  • 2016-01-05
  • 2017-11-20
  • 1970-01-01
  • 2020-03-20
  • 2021-08-20
相关资源
最近更新 更多