编程语言
首页 > 编程语言> > android-Cordova移动应用程序和Dropbox API v2

android-Cordova移动应用程序和Dropbox API v2

作者:互联网

是否有人在Cordova移动应用程序中使用了Dropbox API v2?甚至是移动应用期?有API v1&的教程.科尔多瓦:
http://ourcodeworld.com/articles/read/149/how-to-use-dropbox-in-a-cordova-application
但是Dropbox已经或正在弃用它.

我有一个Github项目,它是一个基本的Cordova项目(版本6.5.0),并且包含Dropbox API v2.我可以使项目进入授权屏幕,但我认为我的问题是重定向URI.

我正在使用:

>科尔多瓦6.5.0
>在Android上进行测试
> Dropbox API v2:https://github.com/dropbox/dropbox-sdk-js
>授权示例:https://github.com/dropbox/dropbox-sdk-js/blob/master/examples/auth/index.html

但是再次,我已经将所有内容都放入了Github仓库中:
https://github.com/ModusPwnens1337/dropboxTest

我相信重定向URI是问题所在,您可以在index.html的第128行找到它:

var authUrl = dbx.getAuthenticationUrl('https://www.dropbox.com/oauth2/authorize?response_type=token&client_id=8nvbrxvlg96tx1k&redirect_uri=helloworld://localhost/callback');

请让我知道是否有人获得授权或重定向到移动应用的授权.

先感谢您!

解决方法:

好吧,我已经弄清楚了!
我在该项目中遇到三个问题:

>我的重定向URI错误,应该只是以下内容:

var authUrl = dbx.getAuthenticationUrl(‘helloworld:// localhost / callback’);
>我没有正确设置自定义URL方案,幸运的是,有一个漂亮的小插件要使用:https://github.com/EddyVerbruggen/Custom-URL-scheme.这是我在CLI中运行的安装插件的方法:cordova plugin add cordova-plugin-customurlscheme –variable URL_SCHEME =你好,世界
>添加插件并阅读说明后,您将看到需要添加一个函数来处理回调访问令牌,如下所示:

function handleOpenURL(url) {
    console.log("handleOpenURL: " + url);
    showPageSection('authed-section');
    // Create an instance of Dropbox with the access token and use it to
    // fetch and render the files in the users root directory.
    var dbx = new Dropbox({ accessToken: getAccessTokenFromUrl2(url) });
    dbx.filesListFolder({path: ''})
        .then(function(response) {
            renderItems(response.entries);
        })
        .catch(function(error) {
            console.error(error);
        });
}

并且还必须编辑getAccessTokenFromCustomUrl才能适用于新的回调:

function getAccessTokenFromUrl2(url) {
    url = url.split('#')[1];
    console.log('getAccessTokenFromUrl2: ' + utils.parseQueryString(url).access_token);
    return utils.parseQueryString(url).access_token;
}

请注意,不要忘记重定向uri需要在应用程序控制台上的应用程序页面上预先注册:https://www.dropbox.com/developers/apps

标签:dropbox-api,cordova,jquery-mobile,dropbox,android
来源: https://codeday.me/bug/20191026/1934838.html