Facebook API分页不起作用

我使用iOS的Facebook SDK 3.10.0。 当我试图获取用户新闻源,我有一个问题:在Facebook的请求:

[FBRequest requestForGraphPath:@"me/home"] 

我得到了我需要的所有数据和分页信息的响应:

 data = ( "A LOT OF USER DATA" ); paging = { next = "https://graph.facebook.com/{MY_USER_ID}/home?format=json&access_token={ACCESS_TOKEN}&limit=25&until=1385113385"; previous = "https://graph.facebook.com/{MY_USER_ID}/home?format=json&access_token={ACCESS_TOKEN}&limit=25&since=1385206398&__previous=1"; }; 

但是当我试图获得使用下一个链接和AFHTTPRequestOperation的信息

 AFHTTPRequestOperation *newDataOperation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; newDataOperation.responseSerializer = [AFJSONResponseSerializer serializer]; [newDataOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"%@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Next page retrieving error = %@", error); }]; 

我得到空json

 data = ( ); 

我已经使用Facebook访问令牌debugging器和结果:

访问令牌调试器结果

并且有奇怪的事情,我使用graphicsApi资源pipe理器访问令牌不同,我得到我的应用程序。 令牌,我从graphicsApi资源pipe理器得到完美的罚款,但是当我从应用程序结果令牌相同: 我/在家工作 在这里输入图像说明下一个链接返回空:

在这里输入图像说明

 And there is strange thing access token which i get using Graph Api Explorer differs from which i get in my app. 

其实并不奇怪。 访问令牌将根据您从浏览器右上angularselect的应用程序types而改变。

 Facebook API Pagination doesn't work 

我在Graph API中看到了很多关于分页问题的问题,奇怪的是这个问题还没有得到解决! 您可以尝试使用基于偏移的分页 。 例如,在URL中设置limit=100&offset=0 。 我知道这在新闻馈送的情况下是没有意义的,但是在大量数据的情况下它通常工作正常。

对于Facebook的分页,我会build议使用苹果原生类

使用nextPageURLvariables来caching来自JSON响应的下一个url,并且如果nextPageURL不是nil并且使用下面的一段代码,则在下一个api请求上分配给urlstring:

 if (self.nextPageURL) { // urlString is the first time formulated url string urlString = self.nextPageURL; } NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlString]]; [NSURLConnection sendAsynchronousRequest:request queue:networkQueue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { if (error) { DDLogVerbose(@"FACEBOOK:Connection error occured: %@",error.description); }else{ isRequestProcessing = NO; NSDictionary *resultData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil]; DDLogVerbose(@"parsed data is %@",resultData); self.nextPageURL = resultData[@"paging"][@"next"]; // do your customisation of resultData here. } }];