我创建了一个使用身份API的Chrome应用程序,它部署在chrome web商店中。我从我的计算机中清除了dev版本并自行下载它,它运行得非常好。
所有它真正做的就是获取你的身份,使用它来获取可用于访问google doc的json表示的令牌。
我的队友从商店下载了应用程序并且它根本不起作用。该应用似乎无法获取令牌,因此无法从受限制的Google文档中获取json。我尝试在zip文件的根目录中使用key.pem
重新上传应用程序,但没有运气。
可能的原因是什么?我唯一能想到的是我的电脑上有一个特定的钥匙。任何想法。
非常感谢。
答案 0 :(得分:1)
这里的问题是我之前在本地开发时已经缓存了我的身份验证令牌。
由于Chrome应用程序的离线开发版本必须与您上传的版本具有相同的64个字符的ID(如果您希望api凭据为您工作),您必须注意缓存的Oauth令牌。您可以在chrome://identity-internals
轻松找到它们,在那里您可以撤消令牌以模拟第一次打开应用的用户。
在我的情况下,我最初有
chrome.identity.getAuthToken({
"interactive": true
}, function(token) {
在window.onload
内。后来我将其改为false,这并不重要,因为我已经有一个缓存,因为谁知道多久。因此,该应用程序无法为其他任何人进行身份验证。 Google建议使用按钮或任何其他UI元素来启动chrome.getAuthToken
方法,因为带宽问题通常会导致混乱。我重构了这段代码,只有当auth令牌不存在时才使用interactive: true
。