我正在尝试使用谷歌分析 realtime api . 我可以毫无问题地使用非实时api .
这是我到目前为止所做的:
-
注册了有限的beta实时api
-
在google开发者控制台中设置了一个项目
-
在项目上启用Google Analytics API和Google Analytics分析报告API
-
创建服务以服务json凭据 .
-
添加了这些凭据的client_id电子邮件,以便能够访问我们的GA数据
当我执行此请求(非实时)时,它工作正常:
const { google } = require('googleapis')
const scopes = 'https://www.googleapis.com/auth/analytics.readonly';
const key = require('./key.json')
const jwt = new google.auth.JWT(key.client_email, null, key.private_key,scopes)
const view_id = '23423424'; // GA view ID
async function getData() {
const response = await jwt.authorize()
const result = await google.analytics('v3').data.ga.get({
'auth': jwt,
'ids': 'ga:' + view_id,
'start-date': '30daysAgo',
'end-date': 'today',
'metrics': 'ga:pageviews'
})
console.dir(result)
}
getData()
但是,如果我使用范围字符串 https://www.googleapis.com/analytics/v3/data/realtime
(这是谷歌提到的范围:https://developers.google.com/analytics/devguides/reporting/realtime/v3/reference/data/realtime/get)
我对请求的拒绝承诺说:
Error: invalid_scope: https://www.googleapis.com/analytics/v3/data/realtime is not a valid audience string.
我已经注册了实时api的有限测试版,但大概是在20个小时前 . 它说最多24小时,但通常会更快自动列入白名单 . 我不知道如何测试我是否有访问权限 .