Ответ 1

То, о чем вы говорите, это изображение предварительного просмотра и текст, который Facebook извлекает, когда вы делитесь ссылкой. Для получения этих данных Facebook использует Open Graph Protocol.

По существу, все, что вам нужно сделать, это разместить теги og:meta в URL-адресе, который вы хотите разделить -

<meta property="og:title" content="The Rock"/>
<meta property="og:type" content="movie"/>
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/>
<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
<meta property="og:site_name" content="IMDb"/>
<meta property="fb:admins" content="USER_ID"/>
<meta property="og:description"
      content="A group of U.S. Marines, under command of
               a renegade general, take over Alcatraz and
               threaten San Francisco Bay with biological
               weapons."/>

Как вы можете видеть, есть как свойство изображения, так и описание. Когда вы вносите изменения в теги og:meta на страницах, вы можете протестировать эти изменения с помощью Facebook Debugger. Он скажет вам, если вы допустили какие-либо ошибки (и как их исправить!)

Ответ 2

UPDATE:

Этот ответ устарел.

Подобно @jack-marchetti, указанному в его комментарии, и @devantoine со ссылкой: https://developers.facebook.com/x/bugs/357750474364812/

Facebook изменил способ работы sharer.php, так как Ибрагим Фаур отвечает на ошибку, зарегистрированную в Facebook.

Сплиттер больше не будет принимать пользовательские параметры, и facebook вытащит информацию, которая отображается в предварительном просмотре, так же, как она появится на facebook в виде сообщения, из метатегов URL-адреса url.


Попробуйте это (через Javascript в этом примере):

'http://www.facebook.com/sharer.php?s=100&p[title]='+encodeURIComponent('this is a title') + '&p[summary]=' + encodeURIComponent('description here') + '&p[url]=' + encodeURIComponent('http://www.nufc.com') + '&p[images][0]=' + encodeURIComponent('http://www.somedomain.com/image.jpg')

Я пробовал это быстро без части изображения, и окно sharer.php кажется заполненным, поэтому оно выглядит как решение.

Я нашел это через эту статью SO:

Хотите, чтобы название/изображение/описание в facebook обменивались ссылками из флеш-приложения

и эта ссылка содержится в ответе от Lelis718:

http://www.daddydesign.com/wordpress/how-to-create-a-custom-facebook-share-button-for-your-iframe-tab/

так что все кредиты Lelis718 для этого ответа.

[EDIT 3 мая 2013] - похоже, что исходный URL, который у меня здесь, больше не работает для меня, не включая также "s = 100" в строке запроса - не знаю, почему, но обновил соответственно

Ответ 3

Похоже, что следующий ответ больше не работает, и Facebook больше не принимает параметры на каналах диалога каналов

Вы можете использовать Диалог каналов через URL для эмуляции поведения Sharer.php, но это немного сложнее. Вам необходимо настроить приложение Facebook с базовым URL-адресом URL-адреса, который вы планируете использовать. Затем вы можете сделать следующее:

1) Создайте ссылку вроде:

   http://www.facebook.com/dialog/feed?app_id=[FACEBOOK_APP_ID]' +
        '&link=[FULLY_QUALIFIED_LINK_TO_SHARE_CONTENT]' +
        '&picture=[LINK_TO_IMAGE]' +
        '&name=' + encodeURIComponent('[CONTENT_TITLE]') +
        '&caption=' + encodeURIComponent('[CONTENT_CAPTION]) +
        '&description=' + encodeURIComponent('[CONTENT_DESCRIPTION]') +
        '&redirect_uri=' + FBVars.baseURL + '[URL_TO_REDIRECT_TO_AFTER_SHARE]' +
        '&display=popup';

(очевидно, замените [CONTENT] соответствующим контентом. Документация здесь: https://developers.facebook.com/docs/reference/dialogs/feed)

2) Откройте эту ссылку во всплывающем окне с JavaScript по щелчку ссылки общего доступа

3) Мне нравится создавать файл (например, popupclose.html), чтобы перенаправить пользователей обратно, когда они закончат общий доступ, этот файл будет содержать <script>window.close();</script>, чтобы закрыть всплывающее окно

Единственный недостаток использования Диалога каналов (помимо настройки) заключается в том, что, если вы также управляете страницами, у вас нет возможности выбирать общий доступ через страницу, можно использовать только обычную учетную запись пользователя. И он может дать вам некоторые действительно загадочные сообщения об ошибках, большинство из которых связано с настройкой вашего приложения Facebook или проблем с содержимым или URL, которыми вы делитесь.

Ответ 4

Sharer.php больше не позволяет настраивать. Страница, которой вы делитесь, будет очищена для тегов OG и эти данные будут доступны.

Чтобы правильно настроить, используйте FB.UI, который поставляется с JS-SDK.

Ответ 5

<a href="javascript: void(0);" data-layout="button" onclick="window.open('https://www.facebook.com/sharer.php?u=MyPageUrl&summary=MySummary&title=MyTitle&description=MyDescription&picture=MyYmageUrl','ventanacompartir', 'toolbar=0, status=0, width=650, height=450');"> Share </a>

Не используйте пробелы, используйте &nbsp.