【问题标题】:Unable to authorize using existing access token with Google API node.js SDK无法通过 Google API node.js SDK 使用现有访问令牌进行授权
【发布时间】:2015-08-03 14:39:36
【问题描述】:

先介绍一下背景;我有一个基于 PHP 的应用程序,它处理 Google OAuth 流程并将生成的访问令牌存储在数据库中。我可以在另一个 PHP 脚本中完美地使用这个访问令牌,所以我认为令牌没有过期。

当我尝试在 node.js 脚本中使用访问令牌时出现问题。我总是从 Google API 得到这个错误。

{ [错误:无效凭据] 代码:未定义, 错误: [ { 域:'全球', 原因:'authError', 消息:'无效的凭据', 位置类型:'标题', 位置:'授权'}] }

我使用的node.js代码,供参考,如下;

var CLIENT_ID = 'CLIENT_ID';
var CLIENT_SECRET = 'CLIENT_SECRET';
var REDIRECT_URL = 'REDIRECT_URL';

var oauth2Client = new OAuth2Client(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL);

oauth2Client.setCredentials({
  access_token: 'ACCESS_TOKEN'
});

var analytics = google.analytics('v3');

analytics.management.accounts.list({
    auth : oauth2Client
}, function(err, resp) {
   console.log(err);
   console.log(resp);
});

我尝试在测试脚本中对 access_token 值进行硬编码,但结果仍然相同。

欢迎提出任何建议!

【问题讨论】:

标签: node.js oauth-2.0 google-api google-analytics-api


【解决方案1】:

在深入研究 PHP 和 Node.js API 库的代码后,我找到了答案。

PHP API 客户端会自动检查令牌是否无效,然后在不通知您的情况下更新它(据我所知)。我存储的令牌无效,因此我只需要在 Node.js 脚本中手动刷新它。

【讨论】:

    猜你喜欢
    • 2013-12-04
    • 1970-01-01
    • 2013-04-13
    • 2014-10-12
    • 2019-05-09
    • 2015-05-01
    • 1970-01-01
    • 2018-06-13
    • 1970-01-01
    相关资源
    最近更新 更多