2012-10-31 37 views
6

Làm sao chúng ta có thể nhận được danh sách đầy đủ của bạn bè, hiện tại tôi đang sử dụngiOS FBRequestConnection startForMyFriendsWithCompletionHandler nhận được danh sách đầy đủ của bạn bè

[FBRequestConnection startForMyFriendsWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
    if (!error) { 
    // Do stuff 
    } else { 
    // Throw error 
    } 

Trong phản ứng, chúng ta có được một phân trang và url tới. Có ai biết làm thế nào chúng ta có thể lặp qua các url tiếp theo và nhận được danh sách đầy đủ của bạn bè?

Response has 
paging =  { 
     next = "https://graph.facebook.com/1301xxxxxx/friends?fields=id,name,username,first_name,last_name&format=json&access_token=BAAFjJBl9zZBABALFxcbix0aNe0NFOfW8mHCU4ntPaxwooYVo1L6fOWgNTMTZBqLHfxjrWBOXNLjcCwEbkBgZAJX22Ec9PlatgHP9GfjVEWyxk0qGtxxxxxxxxxx&limit=5000&offset=5000&__after_id=10000xxxxxx"; 
}; 

Cảm ơn trước

Trả lời

0

Lúc đầu, bạn cần phải nhận được liên kết trên tiếp theo, bạn cần phải giải nén bù đắp và __after_id thông số, theo iPhone parsing url for GET params bạn sẽ nhận được từ điển với các thông số:

//put here your string with parameters 
    NSString* next = @"https://graph.facebook.com/1301xxxxxx/friends?fields=id,name,username,first_name,last_name&format=json&access_token=BAAFjJBl9zZBABALFxcbix0aNe0NFOfW8mHCU4ntPaxwooYVo1L6fOWgNTMTZBqLHfxjrWBOXNLjcCwEbkBgZAJX22Ec9PlatgHP9GfjVEWyxk0qGtxxxxxxxxxx&limit=5000&offset=5000&__after_id=10000xxxxxx"; 
    NSArray * pairs = [next componentsSeparatedByString:@"&"]; 
    NSMutableDictionary * kvPairs = [NSMutableDictionary dictionary]; 
    for (NSString * pair in pairs) { 
     NSArray * bits = [pair componentsSeparatedByString:@"="]; 
     NSString * key = [[bits objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
     NSString * value = [[bits objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
     [kvPairs setObject:value forKey:key]; 
    } 

Bạn có thể lấy thông số chính xác bằng kvPairs [@ "__ after_id"] và kvPairs [@ "offset"]

Bước tiếp theo tạo thêm thông số này vào origina của bạn l yêu cầu, trong yêu cầu ban đầu bù đắp và sau khi id nên được nil, và bạn cần phải lọc tình trạng này, nếu bạn sẽ làm tất cả chính xác, bạn sẽ có thể gọi ethos của bạn đệ quy

+0

Ngoài ra điều này có thể hữu ích http: // stackoverflow.com/questions/4812941/how-to-move-to-the-next-page-in-facebook-json-response-using-ios-sdk –

Các vấn đề liên quan