Для отправки сообщений с сайта на стену в facebook можно использовать кнопку share.

<a onclick="return fbs_click()" rel="nofollow" href="http://www.facebook.com/share.php?u=[URL]" target="_blank"&gt;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)+'&amp;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]"
));

Можно прочесть также:

7 комментариев “Публикуем сообщение на стене в facebook”

  1. Спасибо за статью! очень актуальная!
    Но столкнулся с проблемой, может поможете:
    Не получается прописать текст и картинку, у меня не работают
    На этой странице в между тегами должны быть данные для fb:

    они нечего не меняют…
    В чём может быть проблема?
    П.С. Запускаю сайт с denwer на localhost
    П.П.С. Зарание СПАСИБО!

  2. dimaz:

    с локалхоста не получится.. fb должен иметь доступ на ваш сайт

  3. akm:

    а можно ли аяксом менять `og:image` так чтобы facebook это применял?

  4. dimaz:

    вероятно не получится, т.к. фб отдельно подгружает себе эту страницу и выдирает данные.

  5. baleew:

    Как я понимаю [id пользователя] — это id этого самого пользователя, который в данный момент и должен отправлять запрос с этим сообщением, т.е. субмитить какую-то форму или ещё что-то? иначе как приложение видит дал ли доступ, именно этот пользователь? и где и как оно хранит какую-то информацию об этих привилегиях которые получает от пользователя? если это в куках самого пользователя, то сообщение не может быть отправлено на его стену только без его участия?

    Такие вот посты вызывают у мирных граждан ещё больше вопросов, чем что-то вообще объясняют. Так как же все-таки мы «публикуем сообщение на стене в facebook»? И кто это вообще публикует, сам пользователь? Но тогда при чём здесь приложение?

  6. Картинку дёргает не ту, что нужно :(
    Добавил мета на нужную картинку – не помогло :(

  7. А не кто не подскажет как сделать так что бы динамически постились разные картинки.