无法从 chrome 扩展程序访问端点 API

Cannot access endpoints API from chrome extension

我正在使用调用 chrome.identity api 的 chrome 扩展来获取访问令牌(使用 google 加上登录范围)。

然后我尝试使用此令牌调用 Google 端点 API。为此,我设置了一个 header 格式为 'Authorization'='Bearer <token>' 的请求。

我已将 chrome 扩展的 manifest.json 中的 client_id 添加到端点 API 的允许客户端 ID 列表中。但是,我仍然无法连接到它,即使我在本地主机上 运行 API。

允许的客户端 ID 列表包括我在 Google 开发人员控制台的 API 凭据页面上定义的那些客户端。我的 chrome 分机作为客户端出现在该列表中,但它 client_id 不同。

我在服务器端不断收到的错误:

WARNING  2016-04-22 03:01:35,068 users_id_token.py:372] Oauth token doesn't include an email address.

任何人都可以给我一些尝试的建议吗?如果需要任何说明,请告诉我。

Google Oauth2 API 对所有类型的客户端都是通用的,所以我会笼统地回答适用于所有客户端的问题。

google加上登录范围(plus.loginplus.me)不会return 电子邮件地址,为了获得经过身份验证的用户的电子邮件地址,您需要传递一个额外的范围 https://www.googleapis.com/auth/userinfo.email,这将是 returns 用户的电子邮件地址。希望这就是您要找的。

如果您想试验一下,请访问 https://developers.google.com/oauthplayground/