我在我的清单文件中使用MouseHover
权限,在我的JavaScript代码中,我使用identity
来获取使用标识令牌。
如何获取唯一的用户ID或电子邮件地址?最好不要添加新权限。
答案 0 :(得分:7)
您可以使用chrome.identity.getProfileUserInfo()
同时获取电子邮件地址和唯一ID。您需要添加identity.email
权限(除identity
之外)。它不需要OAuth2令牌(甚至网络连接)。
这是一个最小的扩展,将此信息打印到后台页面的控制台:
的manifest.json
{
"manifest_version" : 2,
"name" : "Identity Test",
"version" : "0.1",
"background": {
"scripts": ["background.js"]
},
"permissions": [
"identity",
"identity.email"
]
}
background.js
chrome.identity.getProfileUserInfo(function(userInfo) {
console.log(JSON.stringify(userInfo));
});
您可以通过使用OAuth2令牌调用Google API来获取用户信息。我相信您需要同时设置profile
和email
范围。如果您使用Google API Client library,则可以致电gapi.client.oauth2.userinfo.get()
。这更严格地符合您的问题的字母,该字母指定使用OAuth并且不希望添加权限,但我猜您chrome.identity.getProfileUserInfo()
是您真正想要的。
答案 1 :(得分:0)
没有其他权限,它将取决于您在manifest.json文件中声明的oauth2 scopes。
例如,如果您宣布了任何Google云端硬盘范围,则可以使用Google云端硬盘的“关于GET”方法(请参阅here)来检索用户的ID和电子邮件,其中{ {3}}