OneDrive SDK - IOS 获取特殊文件夹
OneDrive SDK - IOS Get Special Folder
我对 IOS 的 OneDriveSDK 的正确用法感到困惑,以正确的方式创建查询以获取特殊文件夹中的所有项目。
我想获取音乐项目,但是一旦我创建了请求,应该如何执行它?
我在任何地方都找不到相关的例子。其他类型请求有实现方法,但特殊文件夹没有
我要构建的url很简单
https://api.onedrive.com/v1.0/drive/special/music/children
但是我对如何使用SDK创建和执行它感到困惑
@class ODItemRequest, ODURLSessionDataTask;
我得到的最远的是
ODSpecialCollectionRequest *musicCollectionRequest = self.client.drive.special.request;
接下来我会做什么?
文档位于
https://github.com/OneDrive/onedrive-sdk-ios/blob/master/docs/overview.md
SDK 位于
https://github.com/OneDrive/onedrive-sdk-i
ODSpecialCollectionRequest.h
#import "ODModels.h"
#import "ODCollectionRequest.h"
typedef void (^ODItemCompletionHandler)(ODItem *response, NSError *error);
typedef void (^ODSpecialCompletionHandler)(ODCollection *response, ODSpecialCollectionRequest *nextRequest, NSError *error);
/**
* The header for type ODSpecialCollectionRequestBuilder.
*/
@interface ODSpecialCollectionRequest : ODCollectionRequest
@end
首先请注意,您生成的请求不太正确。您想要从 "Music" 文件夹生成的 ODChildrenCollectionRequest
。为此,您需要使用方法调用(不是像上面那样的属性)构造正确的 URL。这看起来像:
ODChildrenCollectionRequest *request = [[self.client drive] special:@"Music"] children] request];
然后您想要对子请求执行 get。这看起来像:
[request getWithCompletion:^(ODCollection *response, ODChildrenCollectionRequest *nextRequest, NSError *error){
if(!error){
// Do Stuff with children
}
}];
完成处理程序采用三个参数
- 包含
NSArray
个 ODItem
的 ODCollection
称为
values
这些是音乐文件夹的子项。
- 另一个
ODChildrenCollectionRequest
,默认我们只return第一个
一个集合中有 200 个项目,这是您可以发出的另一个请求
这将 return 下一页的项目。
- 一个
NSError
对象,这将是 nil
除非出现错误
请求中的某处。
我对 IOS 的 OneDriveSDK 的正确用法感到困惑,以正确的方式创建查询以获取特殊文件夹中的所有项目。
我想获取音乐项目,但是一旦我创建了请求,应该如何执行它?
我在任何地方都找不到相关的例子。其他类型请求有实现方法,但特殊文件夹没有
我要构建的url很简单
https://api.onedrive.com/v1.0/drive/special/music/children
但是我对如何使用SDK创建和执行它感到困惑
@class ODItemRequest, ODURLSessionDataTask;
我得到的最远的是
ODSpecialCollectionRequest *musicCollectionRequest = self.client.drive.special.request;
接下来我会做什么?
文档位于
https://github.com/OneDrive/onedrive-sdk-ios/blob/master/docs/overview.md
SDK 位于
https://github.com/OneDrive/onedrive-sdk-i
ODSpecialCollectionRequest.h
#import "ODModels.h"
#import "ODCollectionRequest.h"
typedef void (^ODItemCompletionHandler)(ODItem *response, NSError *error);
typedef void (^ODSpecialCompletionHandler)(ODCollection *response, ODSpecialCollectionRequest *nextRequest, NSError *error);
/**
* The header for type ODSpecialCollectionRequestBuilder.
*/
@interface ODSpecialCollectionRequest : ODCollectionRequest
@end
首先请注意,您生成的请求不太正确。您想要从 "Music" 文件夹生成的 ODChildrenCollectionRequest
。为此,您需要使用方法调用(不是像上面那样的属性)构造正确的 URL。这看起来像:
ODChildrenCollectionRequest *request = [[self.client drive] special:@"Music"] children] request];
然后您想要对子请求执行 get。这看起来像:
[request getWithCompletion:^(ODCollection *response, ODChildrenCollectionRequest *nextRequest, NSError *error){
if(!error){
// Do Stuff with children
}
}];
完成处理程序采用三个参数
- 包含
NSArray
个ODItem
的ODCollection
称为values
这些是音乐文件夹的子项。 - 另一个
ODChildrenCollectionRequest
,默认我们只return第一个 一个集合中有 200 个项目,这是您可以发出的另一个请求 这将 return 下一页的项目。 - 一个
NSError
对象,这将是nil
除非出现错误 请求中的某处。