我正在写一个chrome扩展,我想在其中使用chrome.identity API。但是我的Chrome不能识别身份。
在开发人员工具中的以下代码中,我得到一个错误,说“无法读取未定义的属性getAuthToken:
chrome.identity.getAuthToken({ 'interactive': false }, function(token) {
我试着在控制台中输入。chrome.extension可以工作,但是chrome.identity没有定义。
我的manifest.json在权限中有“identity”。我使用的是最新的Chrome v38。启用identity API还需要什么吗?
3条答案
按热度按时间ukdjmx9f1#
我无法使用身份的原因是因为我试图从内容脚本访问它。我切换到后台脚本,它现在工作!谢谢罗布!
PS!你还需要在你的
manifest.json
中设置"permissions": ["identity"]
。92vpleto2#
它可能需要在你的清单中提供一个“key”值(如果你试图让它在本地工作,但它不工作)。你可以使用与你上传扩展到webstore时获得的相同的密钥,或者尝试packing an extension生成一个新的密钥(尽管我自己无法使用第二种方法)。
b5lpy0ml3#
您可以在内容脚本中访问它,即content.js,方法是使用“消息传递API”向background.js发送消息并将其返回到content.js。
content.js:
在background.js中:
你的manifest.json至少应该有这些属性:
现在,当您转到www.example.com时example.com,应该会出现一个带有logged in users令牌的警报,假设您的扩展已经登录了该用户。