2013-08-03 5 views
0

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

Я пытаюсь создать приложение Facebook с php. В основном я хочу отобразить список всех друзей, зарегистрированных в том же колледже, что и вы. Так как же я буду заниматься этим (планирую использовать «образовательный» запрос)? У меня уже есть пользователь для входа в систему, и я могу напечатать имя пользователя.

Я видел тонн примеров того, как выполнять запросы Facebook, как это:

GET https://graph.facebook.com/me?fields=name,birthday,photos.limit(10).fields(id, picture) 

Так что я просто шлепнуть, что URL-адрес в качестве строки кода (и если да, то как я могу отобразить его - с эхом?)?

Я никогда не программировал с json или fql раньше, и я начинаю с php. Все говорят смотреть видео на https://developers.facebook.com/docs/reference/api/ и читать эту документацию. К сожалению, ничто в этой документации не делает никакой связи между видео и тем, как на самом деле что-либо программировать. Так что это не очень полезно. Однако я чувствую, что должно быть что-то важное в этом url, сгенерированном сразу после поля «GET/POST/DELETE» в графическом api explorer.

Так что мне не хватает? Как написать мой PHP-код, чтобы получить и распечатать список друзей, которые идут в ваш колледж?

Мой текущий код PHP, для справки (CSS от внешнего документа на моем сервере - есть некоторый шаблонный текст и коробки в там, я знаю!):

<?php 
    // Setting up php sdk 
    require_once('src/facebook.php'); 

    $config = array(
    'appId' => '196743413820733', 
    'secret' => 'f39853b06a0607c1efd272d071c2f371', 
); 

    $facebook = new Facebook($config); 
    $user_id = $facebook->getUser(); 

?> 
<html> 
    <head> 
    <!-- Getting facebook-style CSS --> 
    <link rel="stylesheet" type="text/css" href="mystyles.css" media="screen" /> 
    </head> 
    <body> 

    <?php 
    if($user_id) { 

     // We have a user ID, so probably a logged in user. 
     // If not, we'll get an exception, which we handle below. 
     try { 

     $user_profile = $facebook->api('/me','GET'); 
     echo "Name: " . $user_profile['name']; 
     echo "<br/> Here are some things about yourself"; 

     echo '<div class="fbgreybox" style="width: 500px;"><p class="fbbody"> 
      Recognize this general purpose grey box? </p> 
     </div>'; 

     } catch(FacebookApiException $e) { 
     // If the user is logged out, you can have a 
     // user ID even though the access token is invalid. 
     // In this case, we'll get an exception, so we'll 
     // just ask the user to login again here. 
     $login_url = $facebook->getLoginUrl(); 
     echo 'Please <a href="' . $login_url . '">login.</a>'; 
     error_log($e->getType()); 
     error_log($e->getMessage()); 
     } 
    } else { 

     // No user, print a link for the user to login 
     $login_url = $facebook->getLoginUrl(); 
     echo 'Please <a href="' . $login_url . '">login.</a>'; 

    } 

    ?> 

    </body> 
</html> 
+0

Привет, возможно, есть много учебника и документов, я нашел лучший здесь http://hybridauth.sourceforge.net/ –

+0

, может быть, это поможет? http://net.tutsplus.com/tutorials/php/wrangling-with-the-facebook-graph-api/ или http://faceconn.com/using-graph-api-php –

ответ

0

Прежде всего, вам нужно добавить надлежащее разрешение на доступ к истории образованности пользователей & пользователей друзей, которые вы можете достигнуты, делая это, но помните, user_education_history является доступ к образованию пользователя в то время как friends_education_history для истории друзей образования пользователя:

$params = array(
'scope' => 'user_education_history, friends_education_history, user_location, email'); 
$loginUrl = $facebook->getLoginUrl($params); 

Чтобы получить доступ к образовательному полю, вы должны изменить одну строку из своего кода следующим образом: $ user_profile = $ facebook-> api ('/ me? Fields = name, education, email', 'GET');

Вы можете использовать ниже код, чтобы просто напечатать $ User_Profile, а затем разобрать его в соответствии с вашими требованиями:

<pre><?php print_r($user_profile); ?></pre> 

Вероятно, ее слишком поздно, ответ на ваш запрос, но может быть полезно для некоторых других.

Смежные вопросы