2014-04-28 83 views
0

我想使用Javascript的Dropbox SDK,所以我嘗試了一個Hello World!熟悉我自己,但我得到錯誤401認證失敗。JavaScript Dropbox SDK錯誤401

Printscreen of the error I am getting

當我關閉彈出,我按一下按鈕,它重定向我到授權頁面,但在我點擊「允許」,它會顯示一個「損壞內容錯誤」頁。

這裏是我的代碼,這是我真正從一個教程頁面,以測試它了:

<!doctype html> 
<html> 
<head> 
    <script src="https://www.dropbox.com/static/api/dropbox-datastores-1.0-latest.js"></script> 
    <link rel="stylesheet" href="style.css"> 
</head> 
<body> 
    <center> 
     <button id="writeButton">Click to create <code>hello.txt</code> in Dropbox.</button> 
    </center>` 

    <script> 
     var client = new Dropbox.Client({ 
      key: KEY// //APP KEY 
      secret: "<REDACTED>"//"<REDACTED>"   //APP SECRET 
     }); 

     function doHelloWorld() { 
      client.writeFile('hello.txt', 'Hello, World!', function (error) { 
       if (error) { 
        alert('Error: ' + error); 
       } else { 
        alert('File written successfully!'); 
       } 
      }); 
     } 

     // Try to complete OAuth flow. 
     client.authenticate({ interactive: false }, function (error) { 
      if (error) { 
       alert('Error: ' + error); 
      } else { 
       doHelloWorld(); 
      } 
     }); 

     document.getElementById('writeButton').onclick = function() { 
      client.authenticate(function (error, client) { 
       if (error) { 
        alert('Error: ' + error); 
       } else { 
        doHelloWorld(); 
       } 
      }); 
     } 
    </script> 
</body> 
</html> 

回答

0

編輯

它看起來像我貼在Dropbox的開發博客沒有按代碼沒有工作(現在?)。您需要手動檢查客戶端是否已通過身份驗證,因爲無論如何都會調用client.authenticate的回調。

我會更新博客文章。固定的代碼應該是這樣的:

// Try to complete OAuth flow. 
client.authenticate({ interactive: false }, function (error) { 
    if (error) { 
     alert('Error: ' + error); 
    } else if (client.isAuthenticated()) { // <-- this line changed 
     doHelloWorld(); 
    } 
}); 

原件(錯誤的)答案

乍一看,我可以在你的代碼和礦(https://www.dropbox.com/developers/blog/71/writing-a-file-with-the-dropbox-javascript-sdk)之間發現的唯一的區別就是你'指定一個應用程序的祕密(當你不應該)。

如果您刪除該行,您的應用程序是否工作?

(順便說一句,我節錄您發佈的應用程序的祕密,但他們仍然在編輯歷史可見的。我建議你刪除這些應用和創造新的。)

+0

能做到這一點,謝謝,不要」不知道我在想什麼。 – Oscar

+0

我刪除了這個祕密,但它仍然不起作用 – Oscar

+0

它看起來像那個示例中的代碼不再有效......我正在調查庫中發生了什麼變化。當我想到它時,我會回覆! – smarx