假设我假设我的 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/