2013-08-19 3 views
2

Я пытаюсь получить друзей пользователя Facebook, которые также используют одно и то же приложение.Facebook Request Never Gets Executed

«Время, чтобы получить другие друзья, которые используют это приложение» всегда печатает

Но ни результат, ни ошибки печатаются

Я проверил путь графа с Graph API исследователю Facebook, , и это сработало, но по какой-то причине оно не работает с моим приложением.

- (void)getFriendsForUser:(NSNotification *)notification { 
    GGUser *theCurrentUser = [notification object]; 
    NSLog(@"Time to get other friends that use this app"); 
    [FBRequestConnection startWithGraphPath:@"me/friends?fields=id,name,installed,picture" parameters:nil HTTPMethod:@"GET" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
     NSLog(@"result %@",result); 
     NSLog(@"error - %@", error);    
    }]; 
} 

Другие FBRequests, как с графическим путем @ "me", работают, только не это. Что я делаю не так? Как это исправить?

ответ

0

Я думаю, что ваша проблема заключается в том, что вы вводите параметры запроса в путь.

Попробуйте использовать только @ "me/friends" в качестве пути и @ {@ "поля", @ "id, name, installed, picture"} в качестве параметров.

+0

Нет, к сожалению, он по-прежнему не работает. – GangstaGraham

+0

Он работает около 40% времени, поэтому не очень надежно – GangstaGraham

+0

Нет ошибок, напечатанных в то время, когда оно не работает? –

2

Кажется, вы не передавая маркер, поэтому сам запрос не получает казнены:

это сделать:

FBRequest *facebookReq = [FBRequest requestForGraphPath:@"me/friends?fields=id,name,installed,picture"]; 

[facebookReq setSession:FBSession.activeSession]; 

[facebookReq startWithCompletionHandler:^(FBRequestConnection *connection, 
              id result, 
              NSError *error) { 
    NSLog(@"result %@",result); 

    NSLog(@"error %@",error); 

}]; 

Позвольте мне знать, если он не работает. :)

Приветствия

+0

Похоже, что он должен работать, и он, вероятно, будет работать для большинства людей, но, к сожалению, не работает для моего приложения, я не уверен, что с ним происходит, но этот код выглядит правильно. +1 за усилие! Но никакая галочка, к сожалению, поскольку она не работает для моего приложения. – GangstaGraham

+0

У вас есть токен с вами? Вы используете FBSessions в своем приложении? –

+0

Да. Я выполнил все инструкции, приведенные в SDK для Facebook. – GangstaGraham

0

Следующий код должен делать только штрафом. Но убедитесь, что вы выполняете его по основной теме.

Похоже, что не каждая нить используется для FBRequest. У меня лично возникли проблемы с отправкой запросов из потока контекста Core Data.

NSString* path = @"me/friends?fields=id,name,installed,picture"; 
FBRequest* req = [[FBRequest alloc] initWithSession:[FBSession activeSession] 
              graphPath:path]; 
[req startWithCompletionHandler:^(FBRequestConnection* connection, 
            NSDictionary<FBGraphObject>* result, 
            NSError* error) 
{ 
    NSLog(@"result %@",result); 
    NSLog(@"error %@",error); 
}