如何阅读 读取/获取 Dropbox 文件
How to read Read / Get Dropbox files
我想知道是否可以在没有 oauth 的情况下访问(至少读取访问)私人 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);
}
我一直在尝试调试此代码,但它一直抛出 "not found" 错误,即使该文件位于帐户保管箱文件夹中也是如此。此代码中可能缺少什么?
没有客户端身份验证(或者至少我的意思是用户干预),可以使用 "Generated Token"
访问保管箱 files/data
此代码的问题实际上不在于代码,而在于创建 Dropbox 应用程序的方式。这些文件存储在根保管箱路径中,但是代码正在 /Apps/{appName}/
文件夹路径中查找文件。
我想知道是否可以在没有 oauth 的情况下访问(至少读取访问)私人 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);
}
我一直在尝试调试此代码,但它一直抛出 "not found" 错误,即使该文件位于帐户保管箱文件夹中也是如此。此代码中可能缺少什么?
没有客户端身份验证(或者至少我的意思是用户干预),可以使用 "Generated Token"
访问保管箱 files/data此代码的问题实际上不在于代码,而在于创建 Dropbox 应用程序的方式。这些文件存储在根保管箱路径中,但是代码正在 /Apps/{appName}/
文件夹路径中查找文件。