【问题标题】:Node.js OAuth2: Get Google+ activitiesNode.js OAuth2:获取 Google+ 活动
【发布时间】:2012-08-01 23:57:05
【问题描述】:

从今天开始,我无法通过向该网址发出 GET 请求来检索我的 Google+ 活动:

https://www.googleapis.com/plus/v1/people/me/activities/public?key={API_KEY}

我收到 401 错误。所以我尝试使用 node.js oauth2 库对请求进行签名,包括预先生成的用户令牌,但我得到了同样的错误。我的测试脚本的js代码是:

var OAuth2 = require('oauth').OAuth2,
    GOOGLEPLUS_APP_ID = {APP_ID},
    GOOGLEPLUS_APP_SECRET = {APP_SECRET},
    accessToken = {USER_TOKEN};

var _oauth2 = new OAuth2(GOOGLEPLUS_APP_ID, GOOGLEPLUS_APP_SECRET, '',
'https://accounts.google.com/o/oauth2/auth',
'https://accounts.google.com/o/oauth2/token');

_oauth2.get('https://www.googleapis.com/plus/v1/people/me/activities/public?key={API_KEY}',
accessToken, function (err, body, res) {
    if (err) {
        console.log('error:');
        console.log(err);
    }
    else console.log(body);
});

我提出了相同的请求以获取基本用户信息(网址:https://www.googleapis.com/oauth2/v1/userinfo)并且工作正常。

你能帮我解决这个问题吗?

谢谢。

【问题讨论】:

    标签: node.js oauth-2.0 google-plus


    【解决方案1】:

    如果您已经拥有访问令牌,您应该可以使用{?|&}access_token=X 来获取结果,示例如下。

    var accessToken = 'XYZ';
    require('http').get('https://www.googleapis.com/plus/v1/people/me/activities/public?access_token=' + accessToken, function(result){
        //Use result here!
    });
    

    更多信息可以在Google+ API (Common Parameters)部分找到

    【讨论】:

    • 我尝试这样做,但仍然抛出 401 错误。这似乎是一个签名问题,这就是我尝试使用 oauth 库的原因。谢谢。
    • 似乎是 Google+ API 的问题。它在没有签名并将访问令牌添加到请求的情况下再次工作。
    猜你喜欢
    • 2016-10-13
    • 2015-04-09
    • 1970-01-01
    • 2018-08-28
    • 2018-06-12
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多