Enr*_*tyo 8 facebook facebook-graph-api ios facebook-ios-sdk
在Facebook iOS SDK中,我可以要求这样的查询:
[_facebook requestWithGraphPath:@"me/feed" andDelegate:self];
Run Code Online (Sandbox Code Playgroud)
但是,例如,Facebook通常会使用URL来提供有限的JSON响应,以用于请求移至较早的日期.所以在JSON响应中,我将:
data = ( /*things here... status updates, photos, etc...*/
);
paging = {
next = "https://graph.facebook.com/me/feed?sdk=ios&sdk_version=2&access_token= <something>&until=2010-12-04";
previous = "https://graph.facebook.com/me/feed?sdk=ios&sdk_version=2&access_token=<something>&since=<something>";
};
Run Code Online (Sandbox Code Playgroud)
我想知道的是......我如何转到以前的URL?SDK是否提供了执行此操作的界面?
编辑:如果可能的话,我实际上想用Graph API回答,因为Facebook目前正在弃用REST API.
奖励:如果有人能解释Facebook返回的时间格式.我有2010-09-13T00%3A25%3A16%2B0000一个例子.
所有你需要的方法,将方法添加到Facebook子类或自身
- (void)requestWithURLString:(NSString *)fullURL
andHttpMethod:(NSString *)httpMethod
andDelegate:(id <FBRequestDelegate>)delegate {
[self openUrl:fullURL params:nil httpMethod:httpMethod delegate:delegate];
}
Run Code Online (Sandbox Code Playgroud)
ps第二个参数"httpMethod"可能总是@"GET"你可以省略它
使用Facebook的iOS SDK版本3,原始答案不再适用于当前版本.
我不得不做一些挖掘,因为新版本不会让这更容易.我找到了一个示例,说明如何在新SDK提供的FBGraphObjectPagingLoader类中完成此操作,以帮助对表执行此操作.它非常丑陋,但我认为它是"推荐"的方法,因为它是他们使用的.
这是我对其代码的轻微修改(最初在FBGraphObjectPagingLoader的followNextLink方法中找到)
FBRequest *request = [[[FBRequest alloc] initWithSession:FBSession.activeSession graphPath:nil] autorelease];
FBRequestConnection *connection = [[[FBRequestConnection alloc] init] autorelease];
[connection addRequest:request completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
// Do some stuff
}];
// Override the URL using the one passed back in 'next'.
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest* urlRequest = [NSMutableURLRequest requestWithURL:url];
connection.urlRequest = urlRequest;
[connection start];
Run Code Online (Sandbox Code Playgroud)
你当然可以修改他们的库,如果你愿意,可以将它封装在类本身中.
| 归档时间: |
|
| 查看次数: |
5091 次 |
| 最近记录: |