Несколько запросов в iOS SDK - PullRequest
1 голос
/ 16 января 2012

Я добавляю функцию Facebook в свое приложение и использую SDK, предоставленный Facebook.

Я вхожу в систему с помощью вызова [facebook authorize:nil] и получаю список друзей пользователя, делая вызов на графике.API: [facebook requestWithGraphPath:@"me/friends" andDelegate:self]

Однако после этого я хотел бы получить информацию о каждом из друзей пользователя и его фотографию.Прямо сейчас я делаю этот вызов:

-(void)getDetailedInfoForFacebookUser:(NSArray *)aIDArray
{
    for (NSString *aID in aIDArray) {            
        [facebook requestWithGraphPath:aID andDelegate:self];
        [facebook requestWithGraphPath:[NSString stringWithFormat:@"%@/picture",aID] andDelegate:self];
    }
}

Но время отклика слишком велико, потому что для обычного пользователя (около 500 друзей) существует более 1000 ответов на анализ.Есть ли какой-нибудь способ получить всю эту информацию, не выдавая такого смешного количества запросов?

Большое спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 17 июня 2012

Используя FQL, вы можете делать массовые запросы и анализировать все сразу!

-(void) startFriendsRequest
{

    // Construct your FQL Query     
NSString* fql = [NSString stringWithFormat:@"SELECT uid,name,first_name,middle_name,last_name,pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"];

// Create a params dictionary
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObject:fql forKey:@"query"];

// Make the request 
[facebook requestWithMethodName:@"fql.query" andParams:params andHttpMethod:@"GET" andDelegate:self];

}
0 голосов
/ 16 января 2012

Вам не нужно создавать дополнительный запрос Facebook Graph, чтобы получить изображение пользователя ... Просто загрузите ваше изображение с

https://graph.facebook.com/<User ID or login name>/picture 

Опционально? Type = square | маленький | нормальный | большой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...