首页 > 解决方案 > 获取当前用户:使用 NodeJS 和 gtoken 的 Google Real Time API:“无效凭据”

问题描述

我想使用 NodeJS 服务器通过实时报告 API 从 Google Analytic 获取我网站上的当前用户:

到目前为止,我尝试通过带有请求和 gtoken 的 HTTP 请求来执行此操作。getToken-Part 有效。我得到一个令牌。但是 HTTP 请求不起作用。我收到代码 401 的“无效凭据”错误。

有人知道该怎么做吗?也许这是获取这些数据的完全错误的方法。

var received_token;
var url = "https://www.googleapis.com/analytics/v3/data/realtime";
var paramsObject = { ids:"ga:123456789"};

const gtoken = new GoogleToken({
      keyFile: 'pathToServiceAccountJSONKeyFile:',
      scope: ['https://www.googleapis.com/auth/analytics.readonly']
});

gtoken.getToken(function(err, token) {
  if (err) {
        console.log(err);
        return;
  }
  received_token = token;
  console.log(token);
  request({
        url:  url,
        qs:   paramsObject,
        headers: {
          'Authorization': received_token
    }
  }, function(err, response, body) {
    if(err) { console.log(err); return; }
    // console.log(response);
    console.log(body);
});

标签: javascriptnode.jsauthenticationgoogle-apigoogle-realtime-api

解决方案


我发现了错误:-)

在授权标头中缺少“Bearer”,现在它像魅力一样工作,我从 Google Real Time API 接收数据。

headers: {
    'Authorization': "Bearer " +received_token
     }

推荐阅读