Mam problem z uwierzytelnieniem się pod numerem Google Analytics Reporting API v4 przy użyciu Node.js client library. Próbowałem wszystkich metod, zaczynając od JWT (Tokeny serwisowe: JSON & P12), API Keys i OAuth 2.0, ale nigdy nie udało mi się z powodzeniem zostać uwierzytelnionym.Jak uwierzytelnić się w interfejsie API raportowania Google Analytics v4
Uaktywniłem interfejs API w mojej konsoli programisty, utworzyłem identyfikatory i nadałem uprawnienia do moich właściwości i widoku Google Analytics. Udało mi się uzyskać autoryzację i token dostępu dla mojego konta usługi, ale nie wiem, jak użyć go do uwierzytelnienia w Analytics Reporting API v4.
Utknąłem przed komunikatem o błędzie 401: "Żądanie nie ma prawidłowych poświadczeń uwierzytelniających". Próbowałem używać podszywania się pod JWT, ale konto usługi jest nieautoryzowane.
Korzystanie z biblioteki klienta node.js i uwierzytelnianie 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);
}
);
});
Wcześniejsze wersje biblioteki klienta node.js wydaje się mieć metodę, aby określić klienta, ale zniknął, może przestarzała.
Próbowałem przekazać klienta lub token w wywołaniu API lub w żądaniu, ale żaden z nich nie działa.
google.analyticsreporting({ version: 'v4', auth: oauth2Client });
google.analyticsreporting({ version: 'v4', access_token: result.access_token });
Może to pytanie noobem, ale nie wiem jak to zrobić, nie widzę nic związanego z Analytics Reporting uwierzytelniania v4 w dokumentacji API lub biblioteki klient google, a większość przykładów znalazłem zastosowań Google Analytics API v3.
Jeśli ktoś udało się pomyślnie uwierzytelnić Raportowanie Analytics API v4, proszę o pomoc:/
Próbuję zrobić to samo w .net, ale wydaje się, że w API v4, nie ma sposobu, aby uzyskać dostęp za pomocą tylko klucz APi, czy jestem źle? http://stackoverflow.com/questions/43685261/analytics-reporting-v4-with-api-key – Giox
Czy można to zrobić za pośrednictwem połączenia URL http? – shzyincu