获取检索用户配置文件信息的权限

时间:2018-02-05 06:12:01

标签: google-chrome google-chrome-extension google-account google-profiles-api

我有这个电话(为了简洁起见,我删除了错误处理):

chrome.identity.getAuthToken({interactive: true}, function (token) {

 let req = new XMLHttpRequest();
    req.open('GET', 'https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=' + token);
    req.onload = function() {
      console.log('this userinfo => ', req.response);
    };
    req.send();  

});

我记录了这个:

this userinfo =>  {
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "insufficientPermissions",
    "message": "Insufficient Permission"
   }
  ],
  "code": 403,
  "message": "Insufficient Permission"
 }
}

我相信我需要将以下内容添加到manifest.json文件中......

之前我有这个:

  "oauth2": {
    "client_id": "5461307462-7gebv03xxx9csfidfg5f6ggxxxrju9374.apps.googleusercontent.com",
    "scopes": [
      "https://www.googleapis.com/auth/chromewebstore.readonly"
    ]
  },

然后我补充一下:

  "oauth2": {
    "client_id": "5461307462-7gebv03xxx9csfidfg5f6ggxxxrju9374.apps.googleusercontent.com",
    "scopes": [
      "https://www.googleapis.com/oauth2/v1/userinfo",
      "https://www.googleapis.com/oauth2/v1/userinfo.picture",
      "https://www.googleapis.com/auth/chromewebstore.readonly"
    ]
  },

问题是,然后验证方法会发生变化。我不再明白这个观点:

enter image description here

我获得了一个新的Chrome标签,如下所示:

enter image description here

问题,无论我登录多少次,它都会反弹回同一个登录标签。此外,我无法访问任何其他Chrome标签,它会让我反复回到同一个Chrome认证标签。这太奇怪了,经历了如此糟糕的经历。

有谁知道可能会发生什么?

1 个答案:

答案 0 :(得分:1)

最有可能的问题是,您请求的范围包含无效地址(您从哪里获取地址?)

尝试更改: https://www.googleapis.com/oauth2/v1/userinfo

by:https://www.googleapis.com/auth/userinfo.email和/或https://www.googleapis.com/auth/userinfo.profile

也许范围https://www.googleapis.com/auth/userinfo也可以。

您还可以查看有用的Google APIs Explorer