Использование объектов

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

Для определения объектов на веб-страницах применяется разметка HTML Open Graph.

Создание объектов

Объекты создаются путем добавления метатегов Open Graph в код страницы, на которой размещен контент.

Ниже представлены основные теги, необходимые для преобразования страницы в объект. Их следует добавлять в раздел <head> HTML-кода страницы.

<meta property="fb:app_id"          content="1234567890" /> 
<meta property="og:type"            content="article" /> 
<meta property="og:url"             content="http://newsblog.org/news/136756249803614" /> 
<meta property="og:title"           content="Introducing our New Site" /> 
<meta property="og:image"           content="https://scontent-sea1-1.xx.fbcdn.net/hphotos-xap1/t39.2178-6/851565_496755187057665_544240989_n.jpg" /> 
<meta property="og:description"    content="http://samples.ogp.me/390580850990722" />

Некоторые платформы для размещения и разработки, где вы создаете страницу объекта и одновременно публикуете его в Open Graph, могут выдавать сообщения о том, что объект не существует. Причина заключается в состоянии гонки, которое существует в некоторых системах. Рекомендуем создавать страницу объекта до того, как действие будет опубликовано в Open Graph, или вводить небольшую задержку, которая требуется для репликации (15–30 секунд).


Тестирование

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

Обновление объектов

Краулер Facebook выполняет повторный скрапинг объектов (и обновляет их) в следующих случаях:

  • после ввода URL объекта в отладчик репостов;
  • по прошествии 30 дней с момента первого скрапинга;
  • после запуска скрапинга приложением с использованием конечной точки API.

Такая конечная точка API Graph представляет собой простой вызов:

POST /?id={object-instance-id or object-url}&scrape=true

В качестве ответа от этой конечной точки будет получен объект JSON, в котором содержится вся информация об объекте, полученном во время скрапинга (эти же данные возвращаются при считывании ID объекта из API Graph).

Параметр id может быть каноническим URL объекта или ID экземпляра объекта в графе.


Свойства объекта можно изменять. Исключения:

  • заголовок — если с объектом связано 50 действий (отметок "Нравится", публикаций и комментариев), обновить его заголовок невозможно;
  • тип — если объект используется в новости, изменить его тип невозможно (подробнее см. в статье о типах Open Graph).

Если нужно обновить изображение для объекта, настоятельно рекомендуем указать URL изображения, отличный от исходного URL изображения. Кэшированные изображения могут не обновляться.

Переносы страниц и изменение URL-адресов

Если перенести страницу на новый URL, то старый URL можно использовать в качестве канонического источника для нового. Тем самым вы сохраните для объекта данные об отметках "Нравится", комментариях и публикациях. Подробнее об этом см. в нашем руководстве по публикации для веб-мастеров.