Node.js - 向访问者显示我自己的谷歌分析数据

时间:2017-04-16 02:15:32

标签: node.js google-analytics

我正在努力在服务器端进行身份验证。

我想将自己的Google Analytics数据显示给我网站的访问者。 我可以找到的每个手册,API或教程都解释了如何使用OAUTH2对用户进行身份验证。

ie:https://github.com/google/google-api-nodejs-client#alpha https://developers.google.com/analytics/devguides/reporting/embed/v1/core-methods-reference https://developers.google.com/analytics/devguides/reporting/core/v2/authorization 等等。

有了这个,我不需要对用户进行身份验证,因为它不是我想要访问的帐户,而是我自己的帐户。

这就是我正在使用的:

var google = require('googleapis');
var scopes = ['https://www.googleapis.com/auth/analytics.readonly']
var OAuth2 = google.auth.OAuth2;
var oauth2Client = new OAuth2(auth.googleAPI);
var analytics = google.analytics("v3")
console.log(analytics.data.ga.get({
    ids:"ga:107290894",
    "start-date":"2016-01-01",
    "end-date":"2017-04-15",
    "metrics":'ga:sessions,ga:pageviews',
}))

但是我收到以下错误:

{ [Error: Login Required]
code: 401,
errors: 
 [ { domain: 'global',
   reason: 'required',
   message: 'Login Required',
   locationType: 'header',
   location: 'Authorization' } ] }

通过auth.googleAPI我在传递客户端ID,密码和公钥以及我在创建服务帐户密钥时从谷歌获取的JSON文件中的所有其他信息。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

虽然在文档中非常不清楚,但事实证明我需要使用随googleapis提供的JWT(服务令牌)。

希望这会有所帮助。