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