如何阅读 读取/获取 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}/ 文件夹路径中查找文件。