Публикация с устройств

Эта конечная точка была упразднена 2 ноября 2020 г.

Функция публикации с устройств позволяет людям легко делиться контентом со своих устройств на Facebook. Поддерживаются Smart TV, цифровые фоторамки и устройства Интернета вещей.

На экране устройства отображается буквенно-цифровой код, который пользователь должен ввести со своего компьютера или смартфона на определенной веб-странице. После этого пользователи вашего приложения или сервиса смогут поделиться контентом на Facebook с помощью диалога "Поделиться", связанного с этим кодом.

При разработке приложения для Apple TV или устройств Android следует использовать наш SDK для tvOS или Android SDK соответственно.

В этом руководстве рассматриваются следующие темы:

Пользовательский интерфейс

1. Призыв к действию

Прежде всего решите, в какой именно момент предложить людям поделиться контентом на Facebook. Чтобы сделать этот процесс удобным для пользователя, создайте кнопку, максимально похожую на кнопку "Поделиться" Facebook. Кнопка должна быть расположена рядом с контентом, которым вы предлагаете поделиться.

С точки зрения визуального дизайна это означает следующее:

  1. Разместите на кнопке слово "Поделиться" или "Поделиться на Facebook".
  2. Используйте белый цвет и фирменный оттенок синего Facebook: #3B5998.
  3. Если устройство поддерживает вывод графической информации, к кнопке можно добавить официальный логотип в виде буквы f. Согласно требованиям руководства по бренду Facebook, для логотипа нужно всегда использовать один из двух цветов: белый или фирменный оттенок синего Facebook (#3B5998).

2. Отображение кода

При нажатии на призыв к действию устройство отправляет вызов к API Facebook, который в ответ возвращает код.

Вы должны уведомить человека о том, что ему нужно перейти на определенный сайт и ввести код. Используйте для этого такое сообщение: "Откройте страницу facebook.com/device (http://facebook.com/device) на компьютере или смартфоне и введите этот код". Полностью покажите код, полученный от API Device Share Facebook. Код состоит из 6–12 символов.

Рядом нужно разместить кнопку Close или Done, позволяющую завершить публикацию с устройства.

3. Публикация

Это то, что люди видят в браузере компьютера или мобильного устройства при переходе на страницу facebook.com/device. Сначала открывается текстовое поле, в котором нужно ввести код:

После того как человек введет код и нажмет Continue, откроется диалог "Поделиться":

Если публикация выполнена успешно, появится сообщение с подтверждением:

Интеграция функции публикации с устройств

Публикация с устройств поддерживается для тех устройств, которые могут отправлять вызовы HTTP через Интернет. Ниже показаны вызовы API и ответы, доступные для устройства.

1. Активация входа для устройств

Откройте панель приложения и установите для параметра "Вход с устройств" (раздел "Настройки > Дополнительно > Настройки OAuth") значение "Да".

2. Генерация кода

Когда человек нажимает призыв к действию Share, устройство должно отправлять запрос HTTP POST:

POST https://graph.facebook.com/device/share
       access_token=<APPID|CLIENT_TOKEN>
       href=<LINK_TO_SHARE>

Чтобы найти CLIENT_TOKEN, откройте "Настройки приложения" > "Дополнительно". Этот маркер нужно объединить с ID приложения (разделив символом |) и сформировать таким образом полный access_token.

Этот API также поддерживает action_type и action_properties вместо href, если вы хотите поделиться новостью Open Graph (аналогично действиям Open Graph в диалоге "Поделиться").

Кроме того, он поддерживает параметры quote и hashtag (аналогично параметрам диалога "Поделиться").

Ответ выглядит так:

{
  "user_code": "A1NWZ9",
  "verification_uri": "https://www.facebook.com/device",
  "expires_in": 420,
}

Этот ответ означает следующее:

  1. Вывести на экран устройства строку "A1NWZ9".
  2. Предложить человеку перейти на facebook.com/device и ввести этот код.
  3. Код действует 420 секунд. По истечении этого времени окно с кодом необходимо закрыть.

3. Отображение кода

Ваше устройство должно показать user_code и предложить человеку открыть на своем компьютере или смартфоне указанный verification_uri, например facebook.com/device. См. раздел Пользовательский интерфейс.

Устранение неполадок

Можно ли выполнять запросы к устройству через HTTP?
Для API Graph с маркерами необходимо использовать TLS/HTTPS.

Можно ли выполнять запросы к устройству, используя метод GET?
К устройствам необходимо отправлять запросы POST.

Можно ли узнать, когда человек завершил публикацию?
Нет.

Могу ли я программным путем делать публикации от имени человека?
Нет. Нужно попросить, чтобы пользователь выполнил вход и предоставил вам разрешения на публикацию от его имени. Подробнее см. в разделе, посвященном публикации с помощью API Graph.