致力于更新Chrome插件。我的用户在不同的浏览器标签上打开了多个Gmail帐户。 chrome插件将在每个gmail选项卡中创建一个按钮,当用户单击该按钮时,该插件需要获取gmail帐户的authToken才能采取措施。我正在使用以下
chrome.identity.getAuthToken({ interactive: true },
function(token) {..})
但是问题是,authToken可能不是当前gmail帐户的正确密码(每个浏览器选项卡都有一个不同的gmail帐户)。我已经看到它获取主帐户的authToken并在其他gmail帐户上尝试过,这将导致我的操作失败。
按照identity API中的描述,我正在考虑使用
chrome.identity.getAuthToken({ interactive: true, account: {id : "<ACCOUNT_ID>"} },
function(token) {..})
但是我找不到ACCOUNT_ID
。我尝试了以下API(来自同一参考文献)
chrome.identity.getProfileUserInfo(function(x) {console.log(x) })
但这给了我
{email: "", id: ""}
有什么想法吗?非常感谢!
答案 0 :(得分:1)
在清单中指定镶边identity.email
。 here。
// ...
var x = chrome.identity.getProfileUserInfo(
chrome.identity.getAuthToken({interactive:true}, function(token) {..})
);
// ...
应该可以...只要在用户单击按钮时立即调用该函数...
例如将代码嵌套在document.getElementById('button').addeventlistener('click', x);
答案 1 :(得分:-1)
尝试使用chrome.identity.getAccounts(函数回调)代替chrome.identity.getProfileUserInfo。
有关更多信息,请参考下面的链接-https://developer.chrome.com/apps/identity#method-getAccounts。
希望有帮助。