#iphone #facebook #api
#iPhone #Facebook #API
Вопрос:
Я пытаюсь восстановить своих друзей в Сети и получаю эту ошибку: «Для запроса информации о текущем пользователе необходимо использовать токен активного доступа».
Это мой метод:`-(IBAction)act:(id) отправитель{
NSArray* permissions = [[NSArray arrayWithObjects:
@"user_online_presence", @"friends_online_presence", nil] retain];
[facebook authorize:permissions delegate:self];
[facebook requestWithGraphPath:@"me/friends" andDelegate:self];
NSLog(@"dd");
NSLog(@"%@",facebook.accessToken);
}
`
Что я здесь делаю не так?
Ответ №1:
вы не ожидаете завершения авторизации.
Вам нужно будет реализовать метод делегирования didLogin и
[facebook requestWithGraphPath:@»я / друзья» и DELEGATE:self];
должен запускаться только после вызова didLogin.
Комментарии:
1. какова структура didlogin? например, для didfailwitherror это: — (void) запрос: (FBRequest *) запрос didFailWithError:(id) результат {
2. -(недействительный)fbDidLogin; И это на Facebook Sessiondelegate (который также находится в Facebook.h)
3. Я пробовал этот на my .m, но не работает! Я использую последнюю версию FBConnect. -(недействительный)fbDidLogin{ [facebook requestWithGraphPath:@»me / friends» andDelegate:self]; NSLog (@»сделал вход»); }
4. Это работает для меня, оглядываясь назад на ваш код, вы используете [facebook authorize: делегат разрешений: self] в моем коде у меня есть [facebook authorize: my_facebook_app_id permissions: делегат разрешений: self] Предоставляете ли вы свой facebook app id в другом месте?
5. Да! Всплывающее окно спрашивает меня, хочу ли я авторизоваться и бла-бла-бла. Все работает нормально, кроме этого! Вот мой идентификатор приложения: — (void)viewDidLoad { [super viewDidLoad]; facebook = [[Facebook alloc] initWithAppId:@»xxxxxxxx»]; [facebook авторизовать: ноль делегировать: самостоятельно];