【发布时间】:2018-10-04 10:13:26
【问题描述】:
我需要通过 Google Analytics 授权才能获取响应数据。
var google = require('googleapis'),
q = require('q'),
SERVICE_ACCOUNT_EMAIL = '838823084353-cjjoiv9di67fuh7geqgggociibataf9v@developer.gserviceaccount.com',
SERVICE_ACCOUNT_KEY_FILE = __dirname + '/google-services-private-key.pem';
var def = q.defer();
var gAnalytics = google.analytics('v3');
var authClient = new google.auth.JWT( SERVICE_ACCOUNT_EMAIL, SERVICE_ACCOUNT_KEY_FILE, null, ['https://www.googleapis.com/auth/analytics.readonly']);
console.log(authClient)
authClient.authorize(function (err, tokens) {
if (err) {
console.log("err is: " + err, tokens);
return;
}
但是授权失败
遇到错误
JWT { 传输器:DefaultTransporter {},clientId_:未定义, clientSecret_:未定义,redirectUri_:未定义,选择:{},
凭据:{ refresh_token:'jwt-placeholder',expiry_date:1 },
电子邮件: '838823084353-cjjoiv9di67fuh7geqgggociibataf9v@developer.gserviceaccount.com', 密钥文件: '/home/aaa/Desktop/ampretailer/server/google-services-private-key.pem', 键:空,范围:[ 'https://www.googleapis.com/auth/analytics.readonly' ],主题: 未定义,gToken:[功能:GoogleToken]} 错误是:错误: invalid_grant:无效的 JWT 签名。 { access_token:空, token_type: 'Bearer', expiry_date:null }
【问题讨论】:
标签: node.js google-api google-oauth google-analytics-api google-api-nodejs-client