Sono nei guai per l'autenticazione a Google Analytics Reporting API v4 utilizzando Node.js client library. Ho provato tutti i metodi, iniziando con JWT (Service Token: JSON & P12), API Keys e OAuth 2.0, ma non sono mai stato autenticato con successo.Come autenticare l'API di reporting di Google Analytics v4
Ho attivato l'API nella console degli sviluppatori, ho creato gli ID e ho concesso i diritti sulla mia proprietà google analytics e vista. Ricevo con successo l'autorizzazione e un token di accesso per il mio account di servizio, ma non so come usarlo per autenticarsi in Analytics Reporting API v4.
Sono bloccato davanti a un messaggio di errore 401: "La richiesta non ha credenziali di autenticazione valide". Ho provato a utilizzare l'utente di rappresentazione JWT, ma l'account di servizio non è autorizzato.
Utilizzando libreria client Node.js e autenticazione JWT:
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);
}
);
});
Le versioni precedenti di libreria client Node.js sembra avere un metodo per specificare il client ma è scomparsa, forse deprecato.
withAuthClient(oauth2Client)
Ho cercato di passare il cliente o il token nella chiamata API o nella richiesta, ma nessuno funziona.
google.analyticsreporting({ version: 'v4', auth: oauth2Client });
google.analyticsreporting({ version: 'v4', access_token: result.access_token });
Forse è una domanda niubbo, ma non so come farlo, non vedo tutto ciò che riguarda l'autenticazione Analytics Segnalazione v4 nella API o libreria client di documentazione google, e la maggior parte esempi che ho trovato impieghi API di Google Analytics v3.
Se qualcuno è riuscito ad autenticare con successo ad Analytics reporting API v4, per favore aiutatemi:/
Sto cercando di fare la stessa cosa in .net ma sembra che in API v4, non c'è modo di accedere utilizzando solo la chiave API, ho sbagliato? http://stackoverflow.com/questions/43685261/analytics-reporting-v4-with-api-key – Giox
Questo può essere fatto tramite una chiamata http url? – shzyincu