我很難通過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