我正在使用App.net的iOS客户端,我想使用AFIncrementalStore将网络服务与应用中的核心数据实施同步。
我已经让这两个工作用于不需要身份验证令牌的API请求,但我无法弄清楚如何将身份验证令牌与AFIncrementalStore一起使用。
换句话说,我可以下拉全局Feed,因为它不需要auth:
https://alpha-api.app.net/stream/0/posts/stream/global
...但是,要获取用户的流,您需要auth(您会注意到此链接出错):
https://alpha-api.app.net/stream/0/posts/stream
我知道我需要在API调用的末尾附加一个auth_token
,但我不知道如何使用AFIncrementalStore执行此操作。
更新:以下是当前获取全局流的代码块:
这是直接从example App.net project included in AFIncrementalStore。
提取的方法-(NSURLRequest *)requestForFetchRequest:(NSFetchRequest *)fetchRequest withContext:(NSManagedObjectContext *)context {
NSMutableURLRequest *mutableURLRequest = nil;
if ([fetchRequest.entityName isEqualToString:@"Post"]) {
mutableURLRequest = [self requestWithMethod:@"GET" path:@"stream/0/posts/stream/global" parameters:nil];
}
return mutableURLRequest;
}
答案 0 :(得分:3)
您只需要对上述情况进行修改以正确使用访问令牌,即可向请求添加参数,而不是传递nil。
要构建参数,只需使用您需要的键和值创建NSDictionary
即可。例如,在我的一些App.net代码中,我有这个
NSDictionary *params = @{@"access_token": token};
使用新的compiler directives,使用NSDictionary
令牌中的值,使用单个密钥(在本例中为“access_token”)构建NSString
。
完成后,只需提出类似的请求:
[self requestWithMethod:@"GET" path:@"stream/0/posts/stream" parameters:params];
传递请求中的参数。
如果这还不够明确,请告诉我!