2016-04-07 12 views
0

数週間、dropboxと自分のアプリケーションに接続する方法を扱うことを試みる。私はdropbokseでアプリケーションを作成し、彼に接続します。ロギング時に、ファイルを使用する可能性を確認するためのウィンドウが表示されます。私はクリックすることで(開発者ユーザーを1人増やしたdropbokseの附属書で)許可しますが、このボックスは消えて閉じず、承認も受けません。ここでダウンロードした例はhttps://github.com/donovan-graham/cordova_oauthです。状況はまったく同じです。しかしこのケースでは、認可はエラーではなく、すべてがハングしていることを明確に示しています。 (ただし、以前に開発ユーザーをリセットした場合、失敗したときにログを記録すると、それでも1だけ増加します)承認。ドロップボックス。 Cordova

答えて

1

あなたの質問に直接答えることはできませんが、

Dropbox HTTP APIを使用して、httpリクエストでCordovaアプリをリンクすることができます。私のアプリでは、現時点では公式のDropbox JavaScript Documentationがないので、これらのメッセージをDropboxにリンクするためにこれらのメッセージを使用しました。

Dropbox認証を開始するには、ユーザにhttps://www.dropbox.com/oath2/authoriseにナビゲートする必要があります。これはcordova-plugin-inappbrowserを使用してアプリケーション内で簡単に行うことができます。この例では、Angular2で構築されたコルドバアプリ内にある

var response_type = 'code'; 
var client_id = '<your-dropbox_app_client_id>'; 
var redirect_uri = 'https://www.dropbox.com/1/oauth2/redirect_receiver'; 
var data = 'response_type=' + response_type + '&client_id=' + client_id + '&redirect_uri=' + redirect_uri'; 

var ref = cordova.InAppBrowser.open(
    'https://www.dropbox.com/oauth2/authorize?' + data', 
    '_blank', 
    'location=no,clearcache=yes' 
); 

ref.addEventListener('loadstop', function(event) { 
    // get the response from event.url 
    var code = event.url.substring(redirect_uri.length + 6); 

    var headers = new Headers(); 
    headers.append('Authorization', 'Basic <your basic auth here>'); 
    headers.append('Content-Type', 'application/x-www-form-urlencoded'); 

    var request = `code=${code}&grant_type=authorization_code&redirect_uri=${redirect_uri}`; 
    var observable = http.post('https://api.dropboxapi.com/oauth2/token', request, { headers: headers }); 

    // the data returned will have the access_token that will link Dropbox to your App!! 
}); 

いくつかの注意 。したがって、httpモジュールはオブザーバブルを返します。 jQueryなどの$.ajaxで簡単にこれらの手順を実行できます。

https://www.dropbox.com/1/oauth2/redirect_receiverhttps接続である必要があり、access_tokenが送信されるため、redirect_urlとして使用します。このurlがあなたのDropbox-Appページの許可されたリダイレクトURLに入力されていることを確認する必要があります。

最後に、<basic-auth-here>は、dropbox-appのアプリキーと秘密鍵で基本的なhttp認証を行います。

幸運を祈る!