3

我正在为App.net 开发iOS 客户端,我想使用AFIncrementalStore将 Web 服务与我在应用程序中的核心数据实现同步。

我已经让这两者适用于不需要身份验证令牌的 API 请求,但我不知道如何将身份验证令牌与 AFIncrementalStore 一起使用。

换句话说,我可以拉下全局提要,因为它不需要身份验证:

https://alpha-api.app.net/stream/0/posts/stream/global

...但是,要获取用户的流,您需要 auth(您会注意到此链接给出了错误):

https://alpha-api.app.net/stream/0/posts/stream

我知道我需要auth_token在 API 调用的末尾附加一个,但我不确定如何使用 AFIncrementalStore 来做到这一点。

更新:这是当前获取全局流的代码块:

这是直接从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;
}
4

1 回答 1

3

要更改它以正确使用访问令牌,您所要做的就是向请求添加参数而不是传递 nil。

要构建参数,只需NSDictionary使用您需要的键和值创建一个。例如在我的一些 App.net 代码中,我有这个

NSDictionary *params = @{@"access_token": token};

使用新的编译器指令,这将使用令牌中的值构建一个NSDictionary带有单个键(在本例中为“access_token”) 。NSString

完成后,只需提出您的请求,例如:

[self requestWithMethod:@"GET" path:@"stream/0/posts/stream" parameters:params];

在请求中传递参数。

如果这还不够清楚,请告诉我!

于 2012-12-21T16:35:09.350 回答