Диалог «Поделиться»

С помощью диалога «Поделиться» люди могут публиковать индивидуальные новости в своей Хронике, в Хронике друга, в группе или отправить материал в личном сообщении с помощью Messenger. Для использования этого диалога не требуется «Вход через Facebook» или какие-либо дополнительные разрешения, поэтому это самый простой и удобный способ делиться материалами в Интернете.

Если человек использует браузер, который не выполнил вход с помощью файла «cookie», раскрывающийся список для выбора аудитории, с которой можно поделиться, не откроется. То же самое произойдет, если в приложении используется диалоговое окно ленты вместо диалога «Поделиться» или если приложение использует веб-представление iframe.

Сведения о том, как интегрировать диалог «Поделиться» в нативное мобильное приложение, см. в наших руководствах для iOS и Android.

Интеграция

Этот диалог доступен в составе Facebook SDK для JavaScript. Чтобы его запустить, используйте приведенный ниже код. Можно также использовать перенаправление на URL. Подробнее см. в разделе Дополнительная информация.

Facebook SDK для JavaScript

Запустите диалог «Поделиться», используя функцию FB.ui с параметром метода share, чтобы поделиться ссылкой.

Чтобы опубликовать ссылку, используйте следующий код:

FB.ui({
  method: 'share',
  href: 'https://developers.facebook.com/docs/',
}, function(response){});
Попробуйте сами!

Добавьте метатеги Open Graph в код страницы, размещенной по этому URL, чтобы настроить новость, публикуемую обратно на Facebook.

Обратите внимание, что сообщение response.error_message отображается только в том случае, если пользователь вашего приложения авторизовал его с помощью «Входа через Facebook».

Параметры

Общие параметры

JavaScript SDK предоставляет эти параметры автоматически.

ПараметрОписание

app_id

Уникальный идентификатор приложения. Обязательный параметр.

redirect_uri

URL, на который перейдет человек, когда нажмет кнопку в диалоге. Этот параметр является обязательным, если используется перенаправление на URL.

display

Определяет, как отображается диалог.

  • Если вы используете диалог перенаправления на URL, на Facebook.com будет показана вся страница полностью. Отображение такого типа называется page.
  • Если для вызова диалога используется один из наших SDK для iOS или Android, этот параметр указывается автоматически, после чего выбирается подходящий для устройства тип отображения.
  • Если используется Facebook SDK для JavaScript, то для людей, выполнивших вход в ваше приложение, по умолчанию выбирается модальный тип iframe, для игр на Facebook.com будет выбран тип async, а для всех остальных — окно popup. Кроме того, при необходимости, если используется Facebook SDK для JavaScript, можно принудительно выбрать тип popup.
  • В мобильных веб-приложениях всегда по умолчанию используется тип отображения touch.

Параметры share

ПараметрОписаниеПо умолчанию

href

Ссылка, прикрепленная к публикации. Является обязательным, если используется метод share. Добавьте метатеги Open Graph в код страницы, размещенной по этому URL, чтобы настроить публикуемую новость.

Текущий URL

hashtag

Хэштег, указанный разработчиком для добавления к материалам, которыми делятся люди. Этот хэштег можно удалить в диалоговом окне. Хэштег должен включать знак решетки, например #facebook.

null

quote

Цитата (например, врез в статье) выбирается либо самими пользователями, либо разработчиком, и отображается вместе со ссылкой, которой делится человек.
Этот параметр недоступен для URL Facebook.

null

mobile_iframe

Если значение — true, при нажатии кнопки «Поделиться» откроется диалог «Поделиться» в контейнере iframe вверху вашего сайта. Подробнее см. раздел Веб-диалог «Поделиться» на мобильных устройствах. Эта функция работает только на мобильных устройствах.

false


Данные отклика

Параметр Описание

post_id

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

error_message

Доступен только в том случае, если пользователь вошел в ваше приложение через Facebook.

См. также

Вы можете использовать дополнительные функции.

Веб-диалог «Поделиться» для мобильных устройств

Веб-диалог «Поделиться» для мобильных устройств может отображаться в контейнере iframe в верхней части ваших материалов. После завершения публикации этот диалог возвращает человека к оригинальному фрагменту материалов, чтобы он смог продолжать использовать их.

Пример кода

Чтобы активировать веб-диалог «Поделиться» для мобильных устройств в контейнере iframe, задайте значение атрибута mobile_iframe как true:

FB.ui({
  method: 'share',
  mobile_iframe: true,
  href: 'https://developers.facebook.com/docs/',
}, function(response){});
Попробуйте сами!

Перенаправление на URL

Чтобы опубликовать ссылку, используйте следующий код:

https://www.facebook.com/dialog/share?
  app_id=145634995501895
  &display=popup
  &href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2F
  &redirect_uri=https%3A%2F%2Fdevelopers.facebook.com%2Ftools%2Fexplorer

Примечание. При тестировании этого кода удалите разрывы строк, поскольку в противном случае возникнет ошибка.

Действия Open Graph

Запустите диалог «Поделиться» с помощью функции FB.ui с параметром метода share_open_graph, чтобы поделиться новостью Open Graph.

Публикация новости Open Graph с помощью диалога:

FB.ui({
  method: 'share_open_graph',
  action_type: 'og.likes',
  action_properties: JSON.stringify({
    object:'https://developers.facebook.com/docs/',
  })
}, function(response){});

Обратите внимание, что перенаправление на URL в этом случае работает так же, как и при публикации обычной ссылки.

Параметры share_open_graph

Для публикации новостей Open Graph используются те же параметры, что и для стандартных ссылок, однако в этом случае необходимо добавить следующие параметры:

Параметр Описание

action_type

Строка, которая указывает, какое действие Open Graph следует опубликовать (например, og.likes для встроенного действия «Нравится»). Этот диалог также поддерживает индивидуально настраиваемые типы, которые одобрены. Является обязательным, если используется метод share_open_graph.

action_properties

Объект JSON пар «ключ-значение», который задает параметры в соответствии с используемым action_type. Допустимые пары «ключ-значение» — это те же параметры, которые используются при публикации действий Open Graph с помощью API. Является обязательным, если используется метод share_open_graph.

Диалог share_open_graph не поддерживает mobile_iframe: true.