0
このチュートリアルhttp://www.2ality.com/2015/10/google-analytics-api.htmlに従うことにより、Node.jsからGoogle AnalyticsコアレポートAPIを使用しようとしています。私はbabel-node mygaapiscript.js
と私の端末からスクリプトを直接起動しています。次のエラーが表示されます。ノードとGA解析APIでnullエラーの 'join'プロパティを読み取ることができません。
/Users/me/Desktop/dashboard/dashboard-ga/node_modules/gtoken/lib/index.js:160
this.scope = options.scope.join(' ');
^
TypeError: Cannot read property 'join' of null
at GoogleToken._configure (/Users/me/Desktop/dashboard/dashboard-ga/node_modules/gtoken/lib/index.js:160:31)
at new GoogleToken (/Users/me/Desktop/dashboard/dashboard-ga/node_modules/gtoken/lib/index.js:19:8)
at JWT.GoogleToken [as gToken] (/Users/me/Desktop/dashboard/dashboard-ga/node_modules/gtoken/lib/index.js:17:12)
at JWT._createGToken (/Users/me/Desktop/dashboard/dashboard-ga/node_modules/google-auth-library/lib/auth/jwtclient.js:218:24)
at JWT.refreshToken_ (/Users/me/Desktop/dashboard/dashboard-ga/node_modules/google-auth-library/lib/auth/jwtclient.js:133:15)
at JWT.authorize (/Users/me/Desktop/dashboard/me-MacBook-Pro:routes
このエラーは何を意味していますか?ここ
は私のスクリプトです:私は急行内でそれを使用していますので、
#!/usr/bin/env babel-node
import google from 'googleapis';
'use strict';
import key from './client_id.json';
const VIEW_ID = 'ga:70810323';
let jwtClient = new google.auth.JWT(
key.client_email,
key.private_key,
['https://www.googleapis.com/auth/analytics.readonly'],null);
jwtClient.authorize(function (err, tokens) {
if (err) {
console.log(err);
return;
}
let analytics = google.analytics('v3');
queryData(analytics);
});
function queryData(analytics) {
analytics.data.ga.get({
'auth': jwtClient,
'ids': VIEW_ID,
'metrics': 'ga:uniquePageviews',
'dimensions': 'ga:pagePath',
'start-date': '30daysAgo',
'end-date': 'yesterday',
'sort': '-ga:uniquePageviews',
'max-results': 10,
}, function (err, response) {
if (err) {
console.log(err);
return;
}
console.log(JSON.stringify(response, null, 4));
});
}
module.exports = {queryData};
はmodule.exports
を手に入れました。
ありがとうございました。私はドキュメンテーションとJWTの例を読みましたが、それが機能していなかったので、コードをちょっと乱してしまったと思います。しかし、今私は真新しいエラー 'at Error(native) errno:-63、 code: 'ENAMETOOLONG'、 syscall: 'open'、'私の秘密鍵について。 –
'key.private_key'は*実際の秘密鍵のデータを含んでいますか?それともファイル名ですか?それが実際のキーデータであれば、2番目と3番目の引数を入れ替える必要があります。 – mscdex
ok ok。私は今、ドキュメントを理解しています。この点は私には分かりませんでした。 「ユーザーはGoogle Analyticsアカウントを持っていません」というエラーが表示されているので、動作していると思います。私のGAアカウントでちょっと遊ぶ必要があります。ありがとう! –