API Sharing for Devices

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

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

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

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

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

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.