Как получить список друзей для входа на Facebook с использованием FacebookSDK v3.21
Я пробую следующий код, чтобы получить список друзей, но я получаю тех друзей, которые используют приложение, мне нужно получить полный список друзей. код приведен ниже.
[FBRequestConnection startWithGraphPath:@"/me/friends"
parameters:nil
HTTPMethod:@"GET"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
) {
NSLog(@"My Friend listed : is %@",result);
/* handle the result */
}];
4 ответа
С Facebook SDK 3.0 вы можете сделать это:
FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,
NSDictionary* result,
NSError *error) {
NSArray* friends = [result objectForKey:@"data"];
NSLog(@"Found: %i friends", friends.count);
for (NSDictionary<FBGraphUser>* friend in friends) {
NSLog(@"I have a friend named %@ with id %@", friend.name, friend.id);
}
}];
Вызов API Facebook теперь возвращает только друзей, которые использовали приложение. Таким образом, вы не можете получить весь список друзей, только друзья, которые также используют приложение.
Проверьте эту ссылку для получения дополнительной информации
https://developers.facebook.com/docs/graph-api/reference/v2.0/user/friends
https://developers.facebook.com/docs/apps/faq
Диалог запроса и invitable_friends
не может быть и речи, поскольку вы говорите о приложении для iOS (а не об игре на холсте). Так что, согласно документации, это лучший вариант: https://developers.facebook.com/docs/ios/share/
Как вы получили, /me/friends
возвращает друзей, которые используют приложение.
Из ссылок на документ в Facebook
- https://developers.facebook.com/docs/games/invitable-friends/v2.0
- https://developers.facebook.com/docs/games/requests/v2.0
использование @"/me/invitable_friends"
вместо @"/me/friends"
ОБНОВЛЕНО
По состоянию на April 30th'2014
приложения могут получить только список друзей, которые также используют приложение, и вы должны запросить user_friends
разрешение, как вы получаете сейчас. Для тех пользователей, которые никогда не заходили в ваше приложение раньше April 30th'2014
получит app_scoped_id
вместо их реального идентификатора facebook.