将AFIncrementalStore与Auth令牌一起使用
我正在为App.net的iOS客户端工作,我想使用AFIncrementalStore将Web服务与我的Core Data实现同步到应用程序中。
我已经得到了这两个工作API请求,不需要身份validation令牌,但我不知道如何使用身份validation令牌与AFIncrementalStore。
换句话说,我能够拉下全球的饲料,因为它不需要授权:
https://alpha-api.app.net/stream/0/posts/stream/global
…但是,要获得用户的stream,你需要auth(你会注意到这个链接给出了一个错误):
https://alpha-api.app.net/stream/0/posts/stream
我知道我需要追加一个auth_token
API调用的结尾,但我不知道如何使用AFIncrementalStore做到这一点。
更新:这是当前获取全局stream的代码块:
这是从AFIncrementalStore中包含的示例App.net项目直接拉取的方法。
-(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; }
所有你需要做的上面的情况来改变它正确使用访问令牌是添加参数的请求,而不是传递零。
要构build参数,只需使用所需的键和值生成一个NSDictionary
。 例如在我的一些App.net代码中,我有这个
NSDictionary *params = @{@"access_token": token};
使用新的编译器指令,这将用NSString
标记中的值构build一个带有单个键(在本例中为“access_token”)的NSDictionary
。
你有这个后,只需要你的请求是这样的:
[self requestWithMethod:@"GET" path:@"stream/0/posts/stream" parameters:params];
在请求中传递参数。
让我知道如果这不够清楚!