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

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

Сведения о том, как интегрировать диалог «Поделиться» в нативное мобильное приложение, см. в наших руководствах для 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 или page.
  • В мобильных веб-приложениях всегда по умолчанию используется тип отображения touch.

Параметры share

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

href

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

Текущий URL-адрес

hashtag

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

null

quote

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

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.