Для отправки сообщений с сайта на стену в facebook можно использовать кнопку share.
<a onclick="return fbs_click()" rel="nofollow" href="http://www.facebook.com/share.php?u=[URL]" target="_blank">Share on Facebook</a>; <script type="text/javascript"> function fbs_click() {u='[URL]';t='';window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');return false;} </script>
[URL] – путь на страницу, с которой будут собираться данные для сообщения.
На этой странице в между тегами должны быть данные для fb:
<meta property="og:title" content="заголовок" /> <meta property="og:description" content="описание" /> <meta property="og:image" content="изображение url" /> <meta property="og:audio" content="аудио url (только *.mp3)"/> <meta property="og:video" content="видео url (только *.flv)" />
Еще для отправки на стену сообщений можно использовать FB.api. Сайт должен быть добавлен на facebook как приложение, после чего вы получаете appId и secret.
Дальше чтобы приложение могло оставлять сообщения на cтене пользователя, нужно получить доступ. Для этого при регистрации пользователей на сайте через facebook нужно в атрибуте perms кнопки fb:login-button добавить publish_stream. Далее код, который отсылает сообщение пользователю на стену.
include_once('facebook.php'); $facebook = new Facebook(array( 'appId' => FB_APP_ID, 'secret' => FB_SECRET, 'cookie' => true, )); $facebook->api("/".[id пользователя]."/feed", "post", array( "message" => "[сообщение]", "picture" => "[изображение url]" ));
Спасибо за статью! очень актуальная!
Но столкнулся с проблемой, может поможете:
Не получается прописать текст и картинку, у меня не работают
На этой странице в между тегами должны быть данные для fb:
они нечего не меняют…
В чём может быть проблема?
П.С. Запускаю сайт с denwer на localhost
П.П.С. Зарание СПАСИБО!
с локалхоста не получится.. fb должен иметь доступ на ваш сайт
а можно ли аяксом менять `og:image` так чтобы facebook это применял?
вероятно не получится, т.к. фб отдельно подгружает себе эту страницу и выдирает данные.
Как я понимаю [id пользователя] — это id этого самого пользователя, который в данный момент и должен отправлять запрос с этим сообщением, т.е. субмитить какую-то форму или ещё что-то? иначе как приложение видит дал ли доступ, именно этот пользователь? и где и как оно хранит какую-то информацию об этих привилегиях которые получает от пользователя? если это в куках самого пользователя, то сообщение не может быть отправлено на его стену только без его участия?
Такие вот посты вызывают у мирных граждан ещё больше вопросов, чем что-то вообще объясняют. Так как же все-таки мы «публикуем сообщение на стене в facebook»? И кто это вообще публикует, сам пользователь? Но тогда при чём здесь приложение?
Картинку дёргает не ту, что нужно
Добавил мета на нужную картинку – не помогло
А не кто не подскажет как сделать так что бы динамически постились разные картинки.