ios - Box iOS SDK - 给定文件夹名称,获取文件夹 ID?

标签 ios objective-c sdk box

假设我假设我的 Box 帐户有一个名为“TestFolder”的文件夹。我想获取该文件夹的文件夹 ID,以便我可以从我的 iOS 应用程序中向其中写入文件。

我唯一的选择是遍历我的 Box 帐户的整个根目录以查找该文件夹名称吗?是这样的吗?

__block NSString *folderID;
BOXContentClient *contentClient = [BOXContentClient defaultClient];
BOXFolderItemsRequest *listAllInRoot = [contentClient folderItemsRequestWithID:BOXAPIFolderIDRoot];

[listAllInRoot performRequestWithCompletion:^(NSArray *items, NSError *error) {        
    if (error != nil) {
        NSLog(@"Something bad happened when listing Box contents.");
        return;
    }

    int ii,nItems = (int) [items count];

    for (ii=0; ii<nItems; ii++) {
        BOXItem *currItem = [items objectAtIndex:ii];
        if ([[currItem name] isEqualToString:@"TestFolder"] && [currItem isFolder]) {
            folderID = [currItem modelID];
            break;
        }
    }
}];

最佳答案

您可以使用 Box API search endpoint按名称查询文件夹。如果搜索端点找到文件夹,响应将包含文件夹的 ID。

这是一个示例,说明如何使用 Box iOS SDK 进行此调用:

BOXContentClient *contentClient = [BOXContentClient defaultClient]; 

BOXSearchRequest *searchRequest = [contentClient searchRequestWithQuery:@"Test Folder" inRange:NSMakeRange(0, 1000)];      

[searchRequest performRequestWithCompletion:^(NSArray *items, NSUInteger totalCount, NSRange range, NSError *error) {
// If successful, items will be non-nil and contain BOXItem model objects; otherwise, error will be non-nil. 
}];

关于ios - Box iOS SDK - 给定文件夹名称,获取文件夹 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41072506/

相关文章:

iphone - UIScrollView 和 CATiledLayer 从头开始

ios - 将 FaSTLane 与 CircleCI 集成 : Cocoapods framework not found

iOS-如何分解网页内容并根据需要显示它

ios - UIView四面长度不同

objective-c - NSString EXC_BAD_ACCESS

php - 检查谁卸载了 Facebook 应用程序

ios - 如何在 XIB 中调用 UITextField 的委托(delegate)方法?

ios - LinkedIn URL方案可在iPad中打开公司资料

ios - 当 iOS 处于锁屏模式时,我们可以识别手势吗?

Android:在向量中访问 http 服务器而不是 https(Android Matrix 客户端)