2013-10-10 84 views
2

我正在尝试在我的Chrome扩展中使用新的Dropbox数据存储区API。如果用作tutoria规定,身份验证将失败,错误400:如何使用Chrome扩展中的新Dropbox数据存储区API?

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) 

如果我在Dropbox的网站这个URL添加到我的应用程序配置文件,一切工作正常。但是“anzbpdekhbhcbekwmfazaophjcaabshl”是一个计算机独特的值,每个用户的每个扩展安装都会有所不同。是否有可能以某种方式解决此问题或Dropbox数据存储区API旨在用于重定向url已知的静态网站上?

更新1

扩展条目是随机的手动/非公开延伸安装。

更新2

我已经找到一种方法,使扩展ID执着:只包了,产生来回私有。质子交换膜的公钥和设置此键的base-64编码值作为“钥匙”表现。

+1

我认为扩展ID('chrome-extension://'后面的部分)不是用户或计算机专用的,并且在安装Chrome扩展程序的任何地方都保持不变。 我错了吗? – smarx

+0

其实,在网上商店注册时,扩展名是由google分配的。但是,如果您手动启动扩展,则会动态生成扩展。 – grigoryvp

+0

@smarx你说得对:我发现了一种使ID持久化的方法。请让你的评论一个答案,所以我可以接受它。 – grigoryvp

回答

4

移动我的评论一个答案(看更新的细节问题):

我认为扩展ID(铬扩展后的部分权利://)没有用户或计算机并且在Chrome扩展程序的安装位置保持不变。

1

我成功使用Firefox扩展中的Datastore API。诀窍是将保管箱脚本附加到实际的网页上,而不是本地页面。我的服务器上有一个空白页面,扩展程序打开该页面并附加必要的脚本。从那里它将用户重定向到Dropbox认证页面。

用户通过身份验证后,我使用页面工作器API在“无头”选项卡中打开相同的页面。 (我不知道Chrome扩展是否具有相同的功能)

重定向URL必须是https,因此您需要获得SSL证书才能使用。

+0

这是一个好主意,但不适合离线Chrome扩展(Dropbox API可以脱机使用)。 – grigoryvp

相关问题