我正在构建一个小型的Node / React应用,我在其中尝试实现OAuth2 Google来请求Google Analytics API。我正在使用Passport.js处理身份验证。
我能够正确获取令牌:
router.get(
"/auth/google/callback",
passport.authenticate("google", { failureRedirect: "/error", session: false }),
function(req, res) {
var token = req.user.token;
res.redirect("http://localhost:5000/?token=" + token);
}
);
但是,当尝试调用Google Analytics(分析)管理API时,出现以下错误Error: Login Required
。
router.get('/getData', function(req, res) {
googleAccounts.management.profiles.list(
{
accountId: '~all',
webPropertyId: '~all'
},
(err, data) => {
if (err) {
console.error('Error: ' + err)
res.send('An error occurred')
} else if (data) {
Console.log(data)
}
}
)
})
如何登录?我缺少什么步骤?
答案 0 :(得分:0)
您没有发送访问令牌,除非您使用gapi的内置身份验证,否则必须在HTTP授权标头中手动发送访问令牌。
请使用以下代码片段实现相同的目的。
function listViews() {
gapi.client.setToken{
access_token: <access-token>
})
... rest of the function