Получайте данные о друзьях с помощью Graph API - PullRequest
0 голосов
/ 23 января 2012
  1. Мне нужно получить данные о друзьях пользователя в следующих полях: id, name, пол, день рождения, город, страна, profileUrl, pic, pic_small, pic_big, is_app_user.

    Раньше я использовал FB.Data.query, но теперь он устарел.

     FB.Data.query('select uid, first_name, last_name, name, pic,
      pic_small, pic_big, birthday_date, sex, current_location,
     profile_url, is_app_user from user where uid in (select uid2 from
     friend where uid1 = {0}', uid).
    
  2. Как выбрать друзей, которые используют приложение?

Я могу получить все поля, что мне нужно, но, например, для изображений мне нужно сделать дополнительные запросы. Могу ли я получить все необходимые поля в одном запросе?

Ответы [ 3 ]

3 голосов
/ 23 января 2012

Вы все еще можете использовать тот же FQL запрос с Graph API и JavaScript SDK

var query = 'SELECT uid, first_name, last_name, name, pic, pic_small, pic_big, birthday_date, sex, current_location, profile_url, is_app_user FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = ' + uid;
FB.api('/fql',{q:query}, function(response){
  console.log(response.data);
});

Вы точно также можете получить почти те же данные с помощью Graph API без использования FQL вообще:

FB.api('/'+uid+'/friends', {
  fields: 'id,first_name,last_name,name,birthday,gender,location,link,installed'
}, function(response){
  console.log(response.data);
});

У вас есть немного другие имена и другой формат (например, location) для этих деталей и вы пропускаете детали изображения в результатах, но это просто, user изображение доступно по URL в форме http://graph.facebook.com/USER_ID/picture

использовать? Type = square | маленький | нормальный | большое, чтобы запросить другое фото

0 голосов
/ 10 апреля 2013
The Following Helps you to fetch user's friend details using graph api

NSString friendId =10020020 //Store Friend ID;

NSString * pRequestString = [NSString stringWithFormat:@"%@?fields=name,picture,work,hometown,birthday,devices,interests",friendId];


    [[FBRequest requestForGraphPath:pRequestString ] startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {

        NSLog(@"%@",result);

    }];
0 голосов
/ 10 августа 2012

Я тоже возился с этим, используя PHP. Вот что я придумал:

$user_friends = $facebook->api('/me/friends?fields=installed');
$user_players = array();
foreach ($user_friends['data'] as $userfriend)
{
    if (array_key_exists('installed', $userfriend))
    {
        array_push($user_players, $userfriend);
    }
}    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...