Ich versuche, die Google Analytics API im Knoten aufrufen. Kann mir jemand sagen, was ich falsch mache? Ich bekomme "path.replace ist keine Funktion" in node_modules/mime/mime.js, aber ich bin mir sicher, dass das Problem mit meiner Auth ist. (Mein Log getroffen wird btw nicht ist)google analytics api node.js
const
gapi = require ("googleapis"),
profileid = '000000000',
key = require ('./key.json'),
email = '[email protected]',
scopes = ['https://www.googleapis.com/auth/analytics', 'https://www.googleapis.com/auth/analytics.readonly'],
jwt = new gapi.auth.JWT (email, key, null, scopes, null);
gapi.analytics ('v3').data.ga.get ({
'auth': jwt,
'ids': 'ga:' + profileid,
'start-date': '30daysAgo',
'end-date': 'today',
'metrics': 'ga:pageviews'
}, function (err, result) {
console.log (err, result);
});
UPDATE: Ich habe versucht, statt wie so einen API-Schlüssel zu verwenden. In diesem Fall wird mein Protokoll getroffen. Aber ich bekomme einen 'Login Required' Fehler.
const
gapi = require ("googleapis"),
API_KEY = 'IzaSyDbIBVkt5kia3CJ3w2Y3-nsLHDpSruERkw';
gapi.analytics ('v3').data.ga.get ({
'auth': API_KEY,
'ids': 'ga:' + profileid,
'start-date': '30daysAgo',
'end-date': 'today',
'metrics': 'ga:pageviews'
}, function (err, result) {
console.log (err, results);
});
diese oauth Spielplatz https://developers.google.com/oauthplayground/ führt mich zu glauben, dass Sie ein Google Analytics-Login und Umfang müssen einen Berechtigungscode zu erhalten. Und mit dem Autorisierungscode können Sie ein Zugriffs-Token erhalten. Und sobald Sie das haben, können Sie einfach die Anfrage mit Parametern stellen, um zu bekommen, was Sie brauchen. Das Problem ist, es in Code zu bekommen.
Die Codeschnipsel, die ich gesehen habe, die das Erlangen des Autorisierungscodes beinhalten, tun es in einer Weise, die der Benutzer von einer Zustimmungsseite bekommt (wie hier https://github.com/google/google-api-nodejs-client#retrieve-authorization-code), aber ich versuche nur, einen Server zum Server zu machen App, und ich bekomme keine Benutzerdaten, so dass ich keine Erlaubnis von einem Benutzer benötigen sollte.