1

我正在使用Chrome扩展,它调用chrome.identity api来获取访问令牌(使用Google plus登录范围)。无法从Chrome扩展程序访问端点API

然后我尝试用此令牌调用Google endpoints API。为此,我使用'Authorization'='Bearer <token>'格式设置请求标题。

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

客户端ID的允许列表包括我在Google Developers Console上的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. 

任何人都可以请给我一些指点来试试呢?如果需要澄清,请告诉我。

回答

1

Google Oauth2 API是所有类型客户端的共同点,所以我将在一般情况下适用于所有客户端。

在谷歌加登录范围(plus.loginplus.me)将不会返回电子邮件地址,以获得经过验证的用户的电子邮件地址,你需要传递一个额外的范围https://www.googleapis.com/auth/userinfo.email这将返回用户邮箱地址。希望这是你正在寻找的。

如果你想试验它,请访问https://developers.google.com/oauthplayground/

+0

这对我很有用!多谢,伙计。 – trans1st0r