Запрос имени пользователя приложения Facebook fql или graph api - PullRequest
0 голосов
/ 30 марта 2012

В одном из моих приложений на Facebook мне нужно перечислить пользователей, которые у меня есть в моей базе данных (ширина их идентификаторы).Мне нужно их имя, фото и другие детали из Facebook.В частности, мне нужно перечислить 100 лучших пользователей (учитывая их баллы в приложении).

Я проверил это, используя fql:

$query = "select my top 100 users";
$result = mysql_query($query);

// Foreach user

while ($row = mysql_fetch_array($result)) {

    $user_id = $row['user_id'];
    $total_score = $row['total'];

    $fql = "select name from user where uid=" . $user_id;
    $param  =   array(
        'method'    => 'fql.query',
        'query'     => $fql,
        'callback'  => ''
    );

    // Get user names through fql query

    $fqlResult = $facebook->api($param);
    $user_name = $fqlResult[0]['name'];

    // Print user details, photo, name, total score..

}

Достаточно ли эффективен способ fql?

ИЛИ

Другой способ?Как график API:

function getName($id) { 

    $facebookUrl = "https://graph.facebook.com/".$id; 
    $str = file_get_contents($facebookUrl); 
    $result = json_decode($str); 
    return $result->name; 
}

1 Ответ

0 голосов
/ 30 марта 2012

Сделайте 1 попадание в Facebook с помощью FQL, используя где uid = xx или uid = xx и т. Д., И получите их все сразу.

Кроме того, API-интерфейс графика является предпочтительным способом взаимодействия с Facebook, однако вам необходимо изучить его дальше, чтобы узнать, сможете ли вы получить информацию для нескольких пользователей одновременно.

Теперь, если подумать дальше, разве вам не нужно добавлять access_token к этим вызовам с автономным доступом (который не рекомендуется) для получения информации.

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

...