首页 文章

无法使用Google API node.js SDK授权使用现有访问令牌

提问于
浏览
2

先有点背景;我有一个基于PHP的应用程序,它处理Google OAuth流程并将生成的访问令牌存储在数据库中 . 我可以在另一个PHP脚本中完全使用此访问令牌,因此我认为令牌已过期 .

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

{[错误:凭据无效]代码:未定义,错误:[{domain:'global',reason:'authError',message:'Invalid Credentials',locationType:'header',location:'Authorization'}]}

我正在使用的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值进行硬编码,但结果仍然相同 .

欢迎任何建议!

1 回答

  • 2

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

    PHP API客户端会自动检查令牌是否无效,然后在不告诉您(从我可以看到)的情况下更新它 . 我存储的令牌无效,因此我只需要在Node.js脚本中手动刷新它 .

相关问题