我正在努力在服务器端进行身份验证。
我想将自己的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文件中的所有其他信息。
我做错了什么?
答案 0 :(得分:0)
虽然在文档中非常不清楚,但事实证明我需要使用随googleapis提供的JWT(服务令牌)。
希望这会有所帮助。