如何阅读Read / Get Dropbox文件

时间:2015-03-02 05:12:47

标签: java dropbox dropbox-api

我想知道是否可以在没有oauth的情况下访问(至少是读取访问权限)私有Dropbox文件夹。

案例是,我有一个Heroku应用程序需要访问给定私有Dropbox文件夹中的文件和文件夹。

查看文档,唯一的方法是通过oAuth(https://www.dropbox.com/developers/core/start/android)。但是,我的Heroku应用程序需要访问给定Dropbox文件夹的文件和文件夹,应用程序密钥和App秘密是否足以执行此操作?

什么是正确的方法?

    @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);
}

我一直在尝试调试此代码,但它一直在投掷&#34;未找到&#34;错误,即使该文件位于帐户dropbox文件夹中。这段代码中可能缺少什么?

1 个答案:

答案 0 :(得分:0)

没有客户端身份验证(或者至少我指的是用户干预),可以使用“生成的令牌”访问dropbox文件/数据

此代码的问题实际上不是代码,而是Dropbox应用程序的创建方式。这些文件存储在根dropbox路径中,但代码正在/Apps/{appName}/文件夹路径中查找该文件。