0

マシンでローカルに実行され、データストア API を使用してドロップボックスにデータを保存する html アプリケーションを作成しようとしています。アプリは最初にドロップボックスでユーザーを認証し、ユーザーのアカウントにログインしてデータを保存できるようにします。(これに関する関連チュートリアルは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=bearer&uid=192028&state=oas_hjmjzi5m_0.8ejep9nuh99hpvi authorize?client_id=wy9s1uvip6qnswr&redirect_uri=file%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 データストア API のチュートリアルによると、「リンク プロセスにより、ユーザーは Dropbox の Web サイトにリダイレクトされ、アプリに Dropbox へのアクセス許可を付与するよう求められます。ユーザーが承認 (または拒否) すると、自動的に同じ Web サイトに戻されます。ページ"。

ドロップボックス認証ページから HTML に戻ったときにこのエラーが発生する理由を知りたいです。

4

1 に答える 1

1

あなたの redirect_uri は、ブラウザーがリダイレクトしないローカルの file:// URL を指しています。詳細については、こちらを参照してください。

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

つまり、代わりにサーバーからアプリを提供する必要があります。

于 2013-07-28T19:52:50.643 に答える