【发布时间】:2013-10-10 19:10:38
【问题描述】:
我正在尝试将新的 Dropbox 数据存储 API 与我的 chrome 扩展程序一起使用。如果按照教程中指定的方式使用,身份验证将失败并出现错误 400:
Invalid redirect_uri: "chrome-extension://anzbpdekhbhcbekwmfazaophjcaabshl/chrome_oauth_receiver.html". It must exactly match one of the redirect URIs you've pre-configured for your app (including the path)
如果我将此 URL 添加到我在 Dropbox 网站上的应用配置文件中,一切正常。但是“anzbpdekhbhcbekwmfazaophjcaabshl”是一个计算机唯一值,每个用户的每个扩展安装都会有所不同。是否有可能以某种方式修复此问题,或者 Dropbox 数据存储 API 旨在用于已知重定向 url 的静态网站?
更新 1
手动/非公共扩展安装的扩展 ID 是随机的。
更新 2
我找到了一种使扩展 ID 持久化的方法:只需打包它,从私有 .pem 密钥生成一个公钥,并将此密钥的 base-64 编码值设置为清单中的“密钥”。
【问题讨论】:
-
我认为扩展 ID(
chrome-extension://之后的部分)不是特定于用户或计算机的,并且在安装 Chrome 扩展的任何地方都保持不变。我错了吗? -
其实扩展ID是google在网上商店注册时分配的。但是如果你手动启动扩展,它是动态生成的。
-
@smarx 你是对的:我找到了一种使 ID 持久化的方法。请将您的评论作为答案,以便我接受。
-
您能发布更多关于在 chrome 扩展中使用数据存储区 API 的信息吗?我无法设置它。你说你找到了教程?
-
@jeremywho 我发现我可以通过在清单中添加“密钥”来使应用程序 ID 持久化。这允许使用数据存储 api 没有任何问题。
标签: dropbox-api