gpt4 book ai didi

javascript - 无法使用 Node 和 GA 分析 api 读取 null 错误的属性 'join'

转载 作者:行者123 更新时间:2023-12-03 06:13:36 25 4
gpt4 key购买 nike

我正在尝试按照本教程 http://www.2ality.com/2015/10/google-analytics-api.html 从 Node.js 使用 Google Analytics Core Reporting API 。我使用 babel-node mygaapiscript.js 直接从终端启动脚本。但我遇到以下错误:

  /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,因为我在express中使用它。

最佳答案

您对 google.auth.JWT() 的参数似乎是错误的。请参阅 the documentation 中的示例以及 googleapis 存储库中的 JWT 示例 here 。如果您没有为第二个参数传递 key 文件名,则第三个参数应该是文字 key 数据。因此,只需为第三个参数添加 null 即可:

let jwtClient = new google.auth.JWT(
key.client_email,
key.private_key,
null,
['https://www.googleapis.com/auth/analytics.readonly'],
null
);

关于javascript - 无法使用 Node 和 GA 分析 api 读取 null 错误的属性 'join',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39210383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com