6

現在私が使用している友人の完全なリストを取得するにはどうすればよいですか

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

応答では、ページングと次の URL を取得します。次の URL をループして、友達の完全なリストを取得する方法を知っている人はいますか?

    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";
};

前もって感謝します

4

1 に答える 1

0

まず、次のリンクを取得する必要があります。オフセットと __after_id パラメータを抽出する必要があります。GET パラメータのURL を解析する iPhoneに従って、パラメータを含む辞書を取得します。

//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];
    }

kvPairs[@"__after_id"] と kvPairs[@"offset"] で正しいパラメータを取得できます

次のステップ create このパラメータを元のリクエストに追加します。元のリクエストのオフセットで、id の後に nil にする必要があります。この状況をフィルタリングする必要があります。すべて正しく行えば、エトスを再帰的に呼び出すことができます。

于 2014-07-17T17:33:28.940 に答える