【发布时间】:2017-04-16 02:15:31
【问题描述】:
我正在努力在服务器端进行身份验证。
我想向我网站的访问者显示我自己的来自 Google Analytics 的数据。 我能找到的每一本手册、API 或教程都解释了如何使用 OAUTH2 对用户进行身份验证。
即: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、密钥和公钥,以及我在创建服务帐户密钥时从 google 获得的 JSON 文件中的所有其他信息。
我做错了什么?
【问题讨论】: