Ich habe Probleme, mich bei Google Analytics Reporting API v4 mit Node.js client library zu authentifizieren. Ich habe alle Methoden versucht, angefangen mit JWT (Service Tokens: JSON & P12), API Keys und OAuth 2.0, aber ich wurde nie erfolgreich authentifiziert.So authentifizieren Sie sich bei der Google Analytics-Berichterstellungs-API v4
Ich habe die API in meiner Entwicklerkonsole aktiviert, IDs erstellt und die Rechte für meine Google Analytics-Eigenschaft und Ansicht gewährt. Ich erhalte erfolgreich Autorisierung und ein Zugriffstoken für mein Dienstkonto, aber ich weiß nicht, wie ich es verwenden kann, um mich bei Analytics Reporting API v4 zu authentifizieren.
Ich stecke vor einer 401 Fehlermeldung: "Die Anfrage hat keine gültigen Anmeldedaten." Ich versuchte mit JWT impersonate Benutzer, aber dann ist das Dienstkonto nicht autorisiert.
Mit Node.js-Client-Bibliothek und JWT Authentifizierung:
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);
}
);
});
Frühere Versionen von Node.js-Client-Bibliothek scheint eine Methode, den Client zu geben, aber es verschwunden, vielleicht veraltet.
Ich habe versucht, den Client oder das Token im API-Aufruf oder in der Anfrage zu übergeben, aber keiner funktioniert.
google.analyticsreporting({ version: 'v4', auth: oauth2Client });
google.analyticsreporting({ version: 'v4', access_token: result.access_token });
Vielleicht ist es eine noob Frage, aber ich weiß nicht, wie es zu tun, ich sehe nicht, etwas zu Analytics bezogene Berichterstattung v4-Authentifizierung in der Google-API oder Client-Bibliothek Dokumentation und die meisten Beispiele i gefunden Verwendungen Google Analytics API Version 3
Wenn jemand Analytics Reporting-API v4 erfolgreich zu authentifizieren verwaltet, bitte helfen:/
Ich versuche, dasselbe in .net zu tun, aber es scheint, dass in API v4, gibt es keine Möglichkeit, nur mit dem API-Schlüssel zuzugreifen, bin ich falsch? http://stackoverflow.com/questions/43685261/analytics-reporting-v4-with-api-key – Giox
Kann dies über einen HTTP-URL-Aufruf erfolgen? – shzyincu