Node.js client library kullanarak Google Analytics Reporting API v4 kimlik doğrulaması yapmakta sorun yaşıyorum. JWT (Hizmet Simgeleri: JSON & P12), API Anahtarları ve OAuth 2.0 ile başlayan tüm yöntemleri denedim, ancak hiçbir zaman doğrulanmadı.Google Analytics Raporlama API'sı için kimlik doğrulaması nasıl yapılır v4
API'yi geliştirici konsolumda, oluşturulan kimliklerimde etkinleştirdim ve google Analytics mülkümde ve görünümünde hakları verdim. Hizmet hesabım için yetki ve erişim belirtecini başarıyla alıyorum ancak Analytics Raporlama API'sı v4'te kimlik doğrulaması yapmak için nasıl kullanılacağını bilmiyorum.
401 hata iletisinin önüne takıldım: "İsteğin geçerli kimlik doğrulama bilgileri yok". JWT kimliğine bürünmüş kullanıcı kullanmayı denedim, ancak hizmet hesabı yetkisiz.
kullanma node.js istemci kütüphanesi ve JWT Kimlik Doğrulama: node.js istemci kütüphanesinin
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);
}
);
});
Önceki sürümler müşteri belirlemek için bir yöntem var gibi görünüyor ama belki kullanımdan kaldırıldı, kayboldu.
withAuthClient(oauth2Client)
İstemci veya belirteci API çağrısı veya isteğinde iletmeye çalıştım ancak hiçbiri işe yaramıyor.
google.analyticsreporting({ version: 'v4', auth: oauth2Client });
google.analyticsreporting({ version: 'v4', access_token: result.access_token });
Belki bir çaylak soru ama bunu nasıl, Google API veya istemci kitaplığı belgelerinde v4 kimlik Raporlama Analytics ile ilgili bir şey görmüyorum bilmiyorum ve çoğu örnekler i kullanır bulduk Google Analytics API v3. Birisi başarıyla Analytics Raporları API v4 kimlik doğrulaması için yönettiyseniz
, lütfen yardım:/
Aynı şeyi .net içinde yapmaya çalışıyorum ama API v4'te, yalnızca api anahtarını kullanarak erişmenin bir yolu yok gibi görünüyor, yanlış mıyım? http://stackoverflow.com/questions/43685261/analytics-reporting-v4-with-api-key – Giox
Bu bir http url çağrısıyla yapılabilir mi? – shzyincu