应用不允许访问Dropbox的此api

时间:2013-12-02 12:00:26

标签: ios objective-c dropbox

我正在尝试将Dropbox API用于我的iPhone应用程序,所以我有一个简单的程序,只是将我的Dropbox帐户链接到应用程序(这部分工作正常),但当我尝试列出我的Dropbox目录中的文件时我收到了这条消息:

  

[警告] DropboxSDK:向/ l / metadata / dropbox发出错误请求 - (400)不允许应用访问此API。

即使我尝试使用Dropbox提供的DBRoulette来测试他们的API,我也收到了这条消息。

也许是因为我使用模拟器,但我现在无法在设备上尝试这个。

3 个答案:

答案 0 :(得分:2)

当您在App console中创建应用时,您创建了哪种类型的应用?我的猜测是你创建了一个仅限数据存储的应用程序,现在你正试图通过API访问文件。确保您创建了一个可以访问文件的应用程序。

答案 1 :(得分:0)

它告诉api中有一些错误的输入参数,

400 Bad input parameter. Error message should indicate which one and why.

来自Drop box documentation

答案 2 :(得分:0)

Dropbox API显示了一些示例代码,用于列出给定文件夹中的文件:

List files in a folder

您可以使用以下调用列出刚刚上传到的文件夹中的文件:

[[self restClient] loadMetadata:@"/"];
The rest client will call your delegate with one of the following callbacks:

- (void)restClient:(DBRestClient *)client loadedMetadata:(DBMetadata *)metadata {
    if (metadata.isDirectory) {
        NSLog(@"Folder '%@' contains:", metadata.path);
    for (DBMetadata *file in metadata.contents) {
        NSLog(@"\t%@", file.filename);
    }
    }
}

- (void)restClient:(DBRestClient *)client
    loadMetadataFailedWithError:(NSError *)error {

    NSLog(@"Error loading metadata: %@", error);
}

元数据对象是您获取用户Dropbox中文件和文件夹信息的方式。调用loadMetadata:on /将加载根文件夹的元数据,因为它是一个文件夹,contents属性将包含该文件夹中包含的文件和文件夹列表。建议保留这些数据,以便下次要对文件执行某些操作时,可以将其当前元数据与存储的内容进行比较,以识别文件是否已更改。查看DBMetadata.h以查看元数据对象具有的所有信息。