我正在使用Box Web API 2.0进行iOS开发,并且无法获取协作文件夹的所有者。
我使用UITableView显示文件夹的子项,每次单击子文件夹时,它都会即时更新信息并打印出其所有者。我的代码是这样的:
BoxObject *obj = [self.folder.children objectAtIndex:indexPath.row];
// the self.folder contains no file, just folders.
BoxFolder *folder = [Box folderWithID:obj.boxID];
[folder updateWithCallbacks:^(id<BoxOperationCallbacks> on) {
on.after(^(BoxCallbackResponse response){
if(folder.hasCollaboratorsObject)
NSLog(@"%@ owner:%@",folder.name, folder.owner.username);
});
}];
这总是为我提供此应用的登录用户名,而不是此文件夹的“真实”所有者。
但是如果我像这样调用REST api
curl https://api.box.com/2.0/folders/FOLDER_ID \
-H "Authorization: BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN"
它会在owned_by
属性中返回真正的所有者。
这是iOS WebAPI的错误吗?
答案 0 :(得分:0)
这是V1 API的限制,这是您正在使用的iOS SDK所针对的。如果您希望能够访问此信息,您需要直接调用V2中的/协作方法:http://developers.box.com/docs/#collaborations