【发布时间】: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 中的 API 时遇到问题时,我会尝试使用一些包装库来确保某些东西有效。我给你两个脚本可能会帮助你github.com/sfarthin/ga-analyticsgithub.com/ncb000gt/node-googleanalytics
标签: node.js oauth-2.0 google-api google-analytics-api