как отображать последние последние сообщения на моей странице facebook на моем сайте

У меня есть страница на Facebook, и я хочу отображать последние 5 сообщений из моего канала / стены на странице моего веб-сайта. Как это сделать? Я нашел это решение .. легко

https://developers.facebook.com/docs/reference/plugins/like-box/ 

и кто-то поможет мне использовать facebook api и сделать это сам, что является лучшим способом?

Я использую php mysql для создания этого сайта

Вот код PHP. Вам нужно поместить это в свой шаблон.

 <ul> <?php //function to retrieve posts from facebook's server function loadFB($fbID){ $url = "http://graph.facebook.com/".$fbID."/feed?limit=3"; // Update by MC Vooges 11jun 2014: Access token is now required: $url.= '&access_token=YOUR_TOKEN|YOUR_ACCESS_SECRET';// * //load and setup CURL $c = curl_init($url); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); //get data from facebook and decode JSON $page = json_decode(curl_exec($c)); //close the connection curl_close($c); //return the data as an object return $page->data; } /* Change These Values */ // Your Facebook ID $fbid = "190506416472588"; // How many posts to show? $fbLimit = 10; // Your Timezone date_default_timezone_set("America/Chicago"); /* Dont Change */ // Variable used to count how many we've loaded $fbCount = 0; // Call the function and get the posts from facebook $myPosts = loadFB($fbid); //loop through all the posts we got from facebook foreach($myPosts as $dPost){ //only show posts that are posted by the page admin if($dPost->from->id==$fbid){ //get the post date / time and convert to unix time $dTime = strtotime($dPost->created_time); //format the date / time into something human readable //if you want it formatted differently look up the php date function $myTime=date("M d Y h:ia",$dTime); ?> <ul> <li><?php echo($dPost->message) . $myTime; ?></li> </ul> <?php //increment counter $fbCount++; //if we've outputted the number set above in fblimit we're done if($fbCount >= $fbLimit) break; } } ?> </ul> 

Две вещи, которые вы должны сделать для разработки этого скрипта.

  1. Убедитесь, что ваш сервер включен cURL

  2. У вас будет изменение идентификатора Facebook в скрипте.

* Вы можете получить токен доступа таким образом:

 $token = 'https://graph.facebook.com/oauth/access_token?client_id='.APP_ID.'&client_secret='.APP_SECRET.'&grant_type=client_credentials'; $token = file_get_contents($token); // returns 'accesstoken=APP_TOKEN|APP_SECRET' 
  1. Войти в Facebook
  2. Перейти в раздел разработчиков facebok " Apps "
  3. Зарегистрируйте новое приложение, вам нужно только зарегистрировать новое приложение, все дополнительные данные являются необязательными
  4. Скопируйте свой идентификатор приложения / API-ключ и приложение Secret из этого же раздела « Приложения ».
  5. Скопируйте файлы facebook.php и base_facebook.php из репо на ваш сервер
  6. Используйте полиморфный запрос для api, чтобы запросить содержимое стены из учетной записи facebook

     require 'facebook.php'; $facebook = new Facebook(array( 'appId' => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', )); $fbApiGetPosts = $facebook->api('/YOUR_FACEBOOK_ACCOUNT_ID/feed?limit=5'); if (isset($fbApiGetPosts["data"]) && !empty($fbApiGetPosts["data"])) { // display contents of $fbApiGetPosts["data"] array } 

    Замените YOUR_APP_ID вашим идентификатором вашего приложения, YOUR_APP_SECRET с секретным приложением и YOUR_FACEBOOK_ACCOUNT_ID с целевой учетной записью facebook, с которой вы хотите получать сообщения.

Полиморфный запрос в основном – путь / URL. Больше информации внутри ранее упомянутых справочных документов facebook api.

Если ваша целевая стена учетной записи facebook является общедоступной, вам больше не понадобится это, чтобы просмотреть их.

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

Используйте RSS-канал на своей стене Facebook, а затем просто проанализируйте его с помощью RSS-ридера по вашему выбору.

https://www.facebook.com/feeds/page.php?format=rss20&id=YOUR_UNIQUE_ID

Вот быстрый способ получить идентификатор

Поэтому, чтобы смешивать ответы Okky и Deele, оба помогают мне, вы должны закончить что-то, что будет выглядеть так. Я также добавляю якорный тег для ссылки на почтовый URL:

 <?php $fbApiGetPosts = $facebook->api('/YOUR_FACEBOOK_ACCOUNT_ID/feed?limit=5'); if (isset($fbApiGetPosts["data"]) && !empty($fbApiGetPosts["data"])) { //loop through all the posts we got from facebook foreach($fbApiGetPosts["data"] as $dPost){ //only show posts that are posted by the page admin if($dPost["from"]["id"]==$fbid){ //get the post date / time and convert to unix time $dTime = strtotime($dPost["created_time"]); //format the date / time into something human readable //if you want it formatted differently look up the php date function $myTime=date("M d Y h:ia",$dTime); ?> <li><a href="<?php echo($dPost["link"]); ?>"> <?php echo($dPost["message"]) . "<br>" . $myTime; ?></a></li> <?php } } } ?>