0
我想知道是否可以在沒有oauth的情況下訪問(至少讀取)到私人Dropbox文件夾。如何閱讀閱讀/獲取Dropbox文件
案例是,我有一個Heroku應用程序需要訪問給定的私人Dropbox文件夾中的文件和文件夾。
查看文檔,唯一的方法是通過oAuth(https://www.dropbox.com/developers/core/start/android)。然而,我的Heroku應用程序需要訪問給定的Dropbox文件夾的文件和文件夾,應用程序密鑰和應用程序的祕密足以做到這一點?
什麼是正確的方法?
@Test
public void test() throws IOException, DbxException {
FileOutputStream outputStream = new FileOutputStream("test.txt");
DbxRequestConfig config = new DbxRequestConfig("mydbapp/1.0", Locale.getDefault().toString());
DbxClient client = new DbxClient(config, Constants.accessToken);
System.out.println("Linked account: " + client.getAccountInfo().displayName);
DbxEntry.File md = null;
try {
List<DbxEntry.File> revs = client.getRevisions("/test.txt");
md = client.getFile("/test.txt", null, outputStream);
} catch (DbxException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
outputStream.close();
}
assertNotNull(md);
}
我一直在試圖調試這段代碼,但它一直拋出「找不到」的錯誤,即使這個文件在帳戶保管箱文件夾中。這段代碼中可能會丟失什麼?
訪問Dropbox API的唯一方法是使用OAuth。它看起來像你的代碼做得很好,假設'Constants.accessToken'是你試圖訪問的帳戶的有效訪問令牌。如果'client.getAccountInfo()'調用成功,則代碼的OAuth部分是正確的。你能提供你得到的實際錯誤信息和堆棧跟蹤嗎?我假設你只是沒有在'/ test.txt'路徑中的文件。嘗試在「/」上調用元數據以查看內容。 – smarx 2015-03-02 21:15:04
@smarx感謝您的答覆,實際上使用生成的令牌,無需任何用戶干預,我的代碼可以訪問drobox文件(請參閱下面的答案) – xybrek 2015-03-02 21:53:25