我很难通过Node.js client library向Google Analytics Reporting API v4进行身份验证。 我尝试了所有方法,从JWT(服务令牌:JSON & P12),API密钥和OAuth 2.0开始,但我从未成功通过身份验证。如何向Google Analytics报告API v4进行身份验证
我在我的开发人员控制台中激活了API,创建了ID并授予了我的Google Analytics(分析)属性和视图的权限。 我成功获取了授权和我的服务帐户的访问令牌,但我不知道如何使用它来验证Analytics Reporting API v4。
我被困在401错误消息的前面:“该请求没有有效的身份验证凭据”。 我尝试使用JWT模拟用户,但随后服务帐户未经授权。
如何使用Node.js客户端库和智威汤逊认证:
var google = require('googleapis.js');
var viewID = 'XXXXXXXXX'; // Google Analytics view ID
var key = require('service_account.json'); // Service account
var jwtClient = new google.auth.JWT(key.client_email, null, key.private_key, ['https://www.googleapis.com/auth/analytics.readonly'], null);
var oauth2Client = new google.auth.OAuth2();
jwtClient.authorize(function(err, result) {
if (err) {
console.log('Unauthorize');
console.log(err);
return;
}
oauth2Client.setCredentials({
access_token: result.access_token
});
//Need to authenticate somewhere near here
var analytics = google.analyticsreporting('v4');
//Or here
var req = {
reportRequests: [
{
viewId: viewID,
dateRanges: [
{
startDate: '2016-05-01',
endDate: '2016-06-30',
},],
metrics: [
{
expression: 'ga:users',
}, {
expression: 'ga:sessions',
},],
},],
};
//Maybe here
analytics.reports.batchGet(req,
function(err, response) {
if (err) {
console.log('Fail');
console.log(err);
return;
}
console.log('Success');
console.log(response);
}
);
});
上的Node.js客户端库的版本似乎已经到了指定客户端的方法,但它消失了,也许弃用。
withAuthClient(oauth2Client)
我试图通过API调用或请求中的客户端或令牌,但没有任何作品。
google.analyticsreporting({ version: 'v4', auth: oauth2Client });
google.analyticsreporting({ version: 'v4', access_token: result.access_token });
也许这是一个noob问题,但我不知道该怎么做,我没有看到相关的分析报告谷歌的API或客户端库文档中V4认证什么,大多数的例子,我发现使用Google AnalyticsAPI v3。
如果有人设法成功地验证到Analytics(分析)报告API v4的,请帮助:/
我想在.net中做同样的事情,但似乎在API v4中,没有办法使用唯一的API密钥,我错了吗? http://stackoverflow.com/questions/43685261/analytics-reporting-v4-with-api-key – Giox
这可以通过http url调用完成吗? – shzyincu