用户接受身份验证后,Dropbox无法转到上一页

时间:2013-07-28 11:42:54

标签: javascript dropbox dropbox-api

我正在尝试编写一个html应用程序,它在我的机器中本地运行,并使用其数据存储api在dropbox中存储数据。该应用程序将首先使用Dropbox对用户进行身份验证,以便登录用户的帐户,以便存储数据。 (关于此的相关教程是https://www.dropbox.com/developers/datastore/tutorial/js

然而,在我点击Dropbox页面中的“允许”按钮接受身份验证后,我无法返回到我的html并在我的chrome js控制台中收到此错误:

不允许加载本地资源:file:/// I:/my%20app/my%20app.html# =的access_token ... uKAmBGggAAA&bTSwy放大器; token_type =承载&安培; UID = 192028&安培;状态= oas_hjmjzi5m_0.8ejep9nuh99hpvi 授权CLIENT_ID = wy9s1uvip6qnswr&安培; REDIRECT_URI =文件%3A ///....................

在我的应用程序中进行身份验证的js代码是:

function save(){
    var client = new Dropbox.Client({key: '9s1uswrxxxxxx'});
    client.authenticate({interactive: false}, 
        function (error) {
            if (error) {
                alert('Authentication error: ' + error);
            }
    });
    if (client.isAuthenticated()) {
        alert('the client is authenticated.');
    }
    client.authenticate();
    var datastoreManager = client.getDatastoreManager();
    datastoreManager.openDefaultDatastore(function (error, datastore) {
    if (error) {
        alert('Error opening default datastore: ' + error);
    }

根据dropbox datastore api教程:“链接过程会将用户重定向到Dropbox网站,并要求他们授予您的应用程序访问其Dropbox的权限。当用户批准(或拒绝)时,他们将自动返回到同一页面“。

所以我想知道为什么在从Dropbox身份验证页面返回到我的HTML时会发生此错误。

1 个答案:

答案 0 :(得分:1)

您的redirect_uri指向一个本地文件://您的浏览器不会将您重定向到的URL。有关更多信息,请参见此处:

https://forums.dropbox.com/topic.php?id=103530#post-558937

简而言之,您应该从服务器上提供应用程序。