Facebook api что это
API Marketing
Увеличивайте охват рекламы на Facebook и в Instagram и повышайте свой доход.
Что такое API Marketing от Facebook?
API Marketing — это подборка конечных точек API Graph, которые можно использовать для эффективной рекламы на Facebook и в Instagram. API Marketing от Facebook предлагает ряд новых возможностей для вашей компании: использование динамических креативов, оптимизацию, автоматическое управление рекламой и таргетингом.
Маркетинговые технологии Facebook подходят для компаний любого размера. Точное измерение показателей и полезная статистика помогают налаживать более тесный контакт с аудиторией, автоматизация — увеличивать охват, а высокая результативность и эффективность работы — получать от рекламы больше прибыли.
Как можно использовать API Marketing от Facebook?
API Marketing работает по протоколу HTTP. Его можно использовать для самых разных задач — например, чтобы запрашивать данные, создавать объявления и управлять ими. Этот API позволяет программным путем управлять рекламой на платформе Facebook и оптимизировать работу вашей компании.
Автоматизация управления рекламой
Автоматизировав работу с рекламой, вы сможете сэкономить время, использовать дополнительные функции и добиться больших результатов. Создавайте сразу по несколько рекламных шаблонов и тестируйте разные креативы, теги и стратегии ставок с помощью наших API AdCopy и API Batch.
Динамические креативы
Наш API может автоматически комбинировать креативы, создавая разные варианты объявлений. Так вы определите, какая реклама лучше всего работает для вашей целевой аудитории. А благодаря ротации креативов ваши объявления не будут приедаться пользователям.
Аудитории на основе данных
Интегрируйте с API свою CRM-систему и легко сегментируйте аудиторию. Используя собственную статистику и передовые возможности таргетинга Facebook, вы сможете эффективнее ретаргетировать рекламу и привлекать новых клиентов.
Оптимизация в режиме реального времени
Управляйте рекламой и оптимизируйте ее в режиме реального времени на основе правил. Так можно начинать и прекращать показ объявлений, корректировать ставки и даже перераспределять бюджет. Вы также сможете настроить уведомления о подобных автоматических изменениях. С новыми правилами Facebook, работающими по расписанию или на основе триггеров, автоматическая оптимизация и управление рекламой становится ещё проще.
Аналитика и отчеты
API Ads Insights поможет следить за статистикой эффективности отдельных объявлений, их групп и целых кампаний. Определяйте, какие креативы, параметры таргетинга и стратегии назначения ставок дают самые лучшие результаты, и используйте эти данные для оптимизации рекламы.
Отслеживание событий конверсий
API Conversions поможет безопасно оптимизировать работу с конверсиями, отслеживать их и вести статистику. Он работает намного надежнее, чем обычные браузерные методы. Подробнее о возможностях API Conversions.
Обзор
API Graph — это основной инструмент для загрузки данных на платформу Facebook и их получения оттуда. Он представляет собой API на базе HTTP, с помощью которого приложения могут программным путем запрашивать данные, публиковать новые истории, управлять рекламой, загружать фото и выполнять множество других задач.
Название API Graph подчеркивает связь этого API с «социальным графом» — системой представления информации на Facebook. Он состоит из узлов, границ контекста и полей. С помощью узлов можно получать данные о конкретном объекте, границы контекста позволяют получать подборки объектов, связанные с отдельным объектом, а поля — получать данные об отдельном объекте или о каждом объекте в подборке. В документации как узел, так и граница контекста могут называться «конечной точкой». Например, «отправьте запрос GET к конечной точке User».
Все данные передаются по протоколу HTTP/1.1, а для работы конечных точек необходим протокол HTTPS. В основе API Graph лежит протокол HTTP, поэтому он работает со всеми языками, в которых есть библиотека HTTP (например, cURL и urllib). Другими словами, API Graph можно использовать прямо в браузере. Например, запрос в браузере URL
эквивалентен следующему запросу cURL:
URL хоста
Маркеры доступа
С помощью маркеров доступа приложение может взаимодействовать с API Graph. Почти для всех конечных точек API Graph необходим тот или иной маркер доступа, поэтому при обращении к конечной точке может потребоваться указание маркера в запросе. Как правило, они выполняют две функции:
Дополнительную информацию см. в нашей документации по маркерам доступа.
Узел — это отдельный объект с уникальным ID. Например, существует множество объектов узлов User, каждый из которых имеет свой уникальный ID и соответствует отдельному человеку на Facebook. Примерами узлов социального графа Facebook являются Page, Group, Post, Photo и Comment.
Следующий пример cURL представляет собой вызов к узлу User:
По умолчанию этот запрос возвращает следующие данные в формате JSON:
Метаданные узла
Для объекта узла, такого как User, Page или Photo, можно получить список всех полей с их именами, описаниями и типами данных. Отправьте запрос GET к ID объекта с параметром metadata=1 :
Ответ JSON будет содержать свойство metadata со списком всех поддерживаемых полей выбранного узла:
Узел /me — это специальная конечная точка, которая преобразуется в ID объекта человека или Страницы, маркер доступа которых используется в вызовах API. Если у вас есть маркер доступа, следующий запрос позволит получить имя и ID пользователя:
Границы контекста
Граница контекста — это связь между двумя узлами. Например, с узлом User могут быть связаны фотографии, а с узлом Photo — комментарии. В примере ниже cURL возвращает список фотографий, которые человек опубликовал на Facebook.
Каждый возвращенный ID представляет узел Photo со сведениями о том, когда именно снимок был загружен на Facebook.
В параметр fields следующего запроса cURL добавлены имя, адрес электронной почты и фото профиля пользователя.
Возвращаемые данные
Комплексные параметры
Тип object также можно задать в синтаксисе JSON, например: <"firstkey": "firstvalue", "secondKey": 123>.
Публикация, обновление и удаление
Информацию о том, как опубликовать что-то на странице Facebook пользователя, см. в нашем руководстве по публикации на Facebook. Сведения о публикации в ленте Страницы Facebook см. в документации по API Pages.
Чтение после записи
Для конечных точек создания и обновления API Graph может моментально считывать успешно опубликованный или обновленный объект и возвращать любые поля, поддерживаемые соответствующей конечной точкой чтения.
По умолчанию возвращается ID созданного или обновленного объекта. Чтобы получить в ответе дополнительную информацию, добавьте в запрос параметр fields и список нужных вам полей. Например, чтобы опубликовать приветствие в ленте пользователя, можно выполнить следующий запрос:
Запрос вернет указанные поля в формате JSON:
Информацию о том, поддерживает ли конечная точка чтение после записи и какие имеются поля, см. в справочной документации по каждой конечной точке.
Ошибки
Если по какой-либо причине считать данные не удалось (например, в запросе указано несуществующее поле), API Graph вернет стандартное сообщение об ошибке. Дополнительные сведения см. в нашем руководстве по обработке ошибок.
Удалить узел (например, Post или Photo) обычно можно с помощью операции DELETE с указанием ID объекта:
Как правило, вы можете удалять только узлы, созданные вами. Подробнее о требованиях к операциям удаления см. в справке по конкретному узлу.
Версии
API Graph имеет несколько версий. Они выпускаются ежеквартально. Чтобы указать версию в вызове, добавьте букву «v» и номер версии в начало пути запроса. Например, так можно вызвать API версии 4.0:
Если номер версии не указан, по умолчанию будет вызвана самая старая доступная версия, поэтому рекомендуется всегда указывать номер нужной версии.
Дополнительные сведения о версиях см. в нашем руководстве по управлению версиями, а все доступные версии перечислены в журнале изменений API Graph.
API, SDK и платформы Facebook
Для подключения различных интерфейсов и разработки для разных платформ вы можете использовать различные API, SDK и платформы Facebook.
Дальнейшие действия
Приступайте к работе с API Graph: ознакомьтесь с социальным графом Facebook с помощью инструмента Graph Explorer и выполните пару запросов, чтобы получить данные.
API Instant Articles
Моментальными статьями можно управлять с помощью API Instant Articles. Он позволяет создавать, публиковать, обновлять и удалять моментальные статьи непосредственно из системы управления контентом (CMS), а также автоматически публиковать контент на Facebook в формате моментальных статей в режиме реального времени.
Для публикации с помощью API Instant Articles сделайте новый контент общедоступным на своем сайте. Для правильного отображения контента системе требуется доступ к стандартному URL каждой статьи.
Введение в работу с API
Настройка автоматической публикации с помощью API Instant Articles:
1. Создайте ID приложения Facebook.
Вам потребуется существующий ID приложения Facebook, который будет использоваться в вызовах API Instant Articles. Если у вас ещё нет ID приложения Facebook, создайте его.
2. Начните публикацию новых статей через API.
Добавьте свои статьи в библиотеку моментальных статей своей Страницы Facebook с помощью API Instant Articles. Этот API позволяет создавать, публиковать, обновлять и удалять моментальные статьи непосредственно из системы управления контентом. Подробную информацию о конечных точках API Instant Articles см. в справке по API Instant Articles.
Перед интеграцией API Instant Articles в систему публикации контента ознакомьтесь с принципами работы API на примере Graph API Explorer.
3. Убедитесь, что статьи правильно обрабатываются.
Проверьте статьи на предмет ошибок и убедитесь, что они правильно отображаются. Инструкции по отладке и устранению ошибок см. в разделе Тестирование и отладка.
4. Обновите опубликованные статьи.
Медиафайлы, связанные со статьей, обновляются только в том случае, если изменился их URL.
5. Обеспечьте краулеру Facebook доступ к вашему контенту.
Для публикации контента в формате моментальных статей он должен быть доступен нашему краулеру. Если доступ к контенту ограничен, занесите краулер в разрешенный список. Информацию о том, как определить краулер Facebook и добавить его в разрешенный список, см. в руководстве по краулеру.
6. Отправьте статьи на проверку.
Для публикации моментальных статей необходимо, чтобы образцы статей прошли проверку издателя. В противном случае публикация невозможна.
Требования
Для начала работы с API Instant Articles вам потребуются:
Аутентификация
Все запросы API Instant Articles нужно подписывать маркером доступа к Странице Facebook, который позволяет выполнять вызовы API от ее имени. Маркеры доступа к Странице могут генерировать только пользователи с ролью администратора Страницы Facebook.
Ниже приведены общие инструкции по генерированию действительного маркера доступа к Странице.
1. Сгенерируйте маркер доступа пользователя.
Получив действительный маркер доступа пользователя, передайте его на свои серверы, чтобы продлить срок его действия и получить маркер доступа к Странице.
Подробную информацию о генерировании маркеров доступа пользователя см. в документации по маркерам.
2. Обменяйте маркер на долгосрочный.
Маркер доступа пользователя, сгенерированный при входе, действует в течение часа-двух. Для дальнейшей отправки запросов к API Instant Articles нужно продлить срок действия маркера. Действительный маркер доступа пользователя можно обменять на долгосрочный маркер, который позволит получить постоянно действующий маркер доступа к Странице.
Чтобы обменять маркер на долгосрочный, выполните следующий вызов:
ID и секрет приложения можно найти на панели приложений.
Подробную информацию о генерировании долгосрочных маркеров см. в документации по маркерам доступа.
3. Получите маркер доступа к Странице.
С помощью долгосрочного маркера доступа пользователя можно получить постоянно действующий маркер доступа к Странице. Выполните следующий вызов. Он вернет список Страниц, к которым у пользователя есть доступ, и маркеры доступа к ним.
Если пользователь управляет несколькими страницами, найдите маркер Страницы по ее ID.
Извлеките маркер доступа к Странице из ее поля access_token и сохраните его на своих серверах, чтобы в будущем отправлять запросы к API Instant Articles от имени этого пользователя.
Список всех статей
Чтобы получить полный список ID статей, созданных для определенной Страницы Facebook, выполните следующий запрос GET :
Действительный маркер доступа к Странице.
Возвращает статьи после заданной позиции курсора для разбивки на страницы.
Возвращает статьи до заданной позиции курсора для разбивки на страницы.
Возвращает статьи, опубликованные в режиме разработки.
Пример запроса
Пример ответа
Поиск ID статьи
Чтобы найти ID моментальной статьи по ее каноническому URL, выполните следующий запрос GET :
Действительный маркер доступа к Странице.
Канонический URL моментальной статьи.
Пример запроса
Пример ответа
Получение сведений о статье
Чтобы получить сведения о моментальной статье по ее ID, выполните следующий запрос GET :
Действительный маркер доступа к Странице.
Пример запроса
Пример ответа
Создание новой статьи
Чтобы создать моментальную статью, выполните следующий запрос POST :
Действительный маркер доступа к Странице.
Полная HTML-разметка статьи.
Указывает, нужно ли публиковать статью. Необязательное поле. Значение по умолчанию — false.
Указывает, нужно ли публиковать статью в режиме разработки. Необязательное поле. Значение по умолчанию — false.
Пример запроса
Пример ответа
После публикации статьи с помощью этой конечной точки Facebook начнет асинхронно обрабатывать разметку статьи и импортировать содержащиеся в статье медиафайлы. Эта конечная точка возвращает ID статуса импорта, позволяющий узнать, успешно ли импортирована статья и какие ошибки произошли в противном случае.
Подробная информация о конечной точке для контроля импорта статьи приведена далее в этом документе.
Обновление существующей статьи
Удаление статьи
Чтобы удалить моментальную статью, выполните следующий запрос DELETE :
Действительный маркер доступа к Странице.
Пример запроса
Пример ответа
Получение статуса импорта статьи
Чтобы получить актуальный статус импорта моментальной статьи, выполните следующий запрос GET :
Действительный маркер доступа к Странице.
Разделенный запятыми список дополнительных полей, которые нужно вернуть в ответе:
Пример запроса
Пример запроса: дополнительные поля
Пример ответа: успех
Пример ответа: успех с дополнительными полями
Пример ответа: ошибки
Преобразование статей
API Instant Articles Transformer позволяет преобразовать статьи с обычной HTML-разметкой в моментальные. Для этого нужно настроить набор правил, описывающих преобразование разметки. Этот стандартный SDK PHP для моментальных статей Facebook используется как инструмент преобразования разметки HTML в разметку моментальных статей.
Аутентификация
Для этой конечной точки требуется простой маркер приложения, который можно получить с помощью ключа и секрета приложения. Ниже приведены общие инструкции по генерированию действительного маркера приложения, необходимого для отправки запросов на преобразование контента.
ID и секрет приложения можно найти на панели приложений.
Подробную информацию о генерировании маркеров доступа пользователя см. в документации по маркерам доступа к Странице.
Действительный маркер доступа приложения.
html (обязательное поле, если не указано html_url )
Содержимое HTML-документа, которое нужно преобразовать.
html_url (обязательное поле, если не указано html )
URL, указывающий на контент для преобразования.
rules (обязательное поле, если не указано rules_url )
Файл JSON, содержащий правила преобразования заданного HTML-документа. См. справку по редактору правил.
rules_url (обязательное поле, если не указано rules )
Контрольный URL файла JSON, содержащего правила преобразования заданного HTML-документа. См. справку по редактору правил.
Пример запроса
Пример ответа
Поля ответа
Сгенерированная разметка моментальной статьи, созданная на основании указанных правил преобразования и исходной HTML-статьи.
Список предупреждений, сгенерированных при преобразовании. Подробную информацию о предупреждениях при преобразовании см. в документации.
Список сообщений журнала, сгенерированных при преобразовании. Содержит информацию об ошибках, необходимую для отладки.
Устранение проблем
Конечная точка API Graph
Она использует проект с открытым исходным кодом SDK PHP для моментальных статей Facebook. Поэтому рекомендуется изучить принципы его работы.
С принципами работы этой конечной точки можно ознакомиться с помощью инструмента Graph API Explorer, в котором можно преобразовать свои статьи или общедоступные статьи, опубликованные в Интернете.
API Insights
Единый интерфейс для получения статистики рекламы.
Обновления для iOS 14.5
Вследствие новой политики Apple мы вносим важные изменения, касающиеся окон атрибуции.
Подробнее о том, как требования Apple для iOS 14.5 повлияют на размещение рекламы на Facebook, см. в статьях Справочного центра для бизнеса и журнале изменений:
Быстрое начало работы
1. Начало работы с API Marketing
2. Пример запроса: статистика кампании
1. Создание приложения
Сначала создайте приложение: нажмите кнопку «Начало работы с API Marketing» ниже, чтобы сгенерировать образец кода. Нажмите «Создать отчеты по рекламе», чтобы получить статистику от пикселя Facebook или SDK рекламы приложения.
2. Статистика кампании
Получение статистики по результативности кампании за последние 7 дней:
Выполнение вызовов
API Insights доступен в виде границы контекста для любого объекта рекламы.
Вы можете запросить определенные поля в виде списка с разделителями-запятыми в параметрах fields :
Уровни
Результаты собираются на определенном уровне объекта. При этом автоматически выполняется дедупликация данных. Например, можно получить статистику кампании на уровне отдельных рекламных объявлений.
Если у вас нет доступа ни к каким рекламным объектам на нужном уровне, вызов статистики не вернет никаких данных. Например, вы запрашиваете статистику на уровне отдельного рекламного объявления. В этом случае, если у вас нет доступа к одному или нескольким объектам в рекламном аккаунте, вызов API вернет ошибку разрешения.
Окна атрибуции
Обновления для iOS 14 и более новых версий
Дополнительную информацию об изменениях в связи с требованиями для iOS 14 см. в журнале изменений.
Расширение поля
Запросите поля на уровне узла и по полям, указанным в расширении поля:
Сортировка
Ярлыки рекламы
Статистика по всем ярлыкам с идентичными названиями. Агрегируется в единое значение на уровне объекта рекламы. Подробные сведения см. в справке по ярлыкам рекламы.
Определения кликов
Чтобы лучше понять три метрики кликов, предлагаемые Facebook, изучите их определения и принципы использования:
Клики по ссылкам, actions:link_click — количество кликов по содержащимся в рекламе ссылкам на ресурсы Facebook или других компаний. Подробные сведения см. здесь.
Клики (все), clicks — учитывает разные виды кликов по рекламе, в том числе некоторые типы взаимодействия с контейнером рекламы, ссылками на другие целевые страницы и ссылками на развернутую рекламу. Подробные сведения см. здесь.
Удаленные и заархивированные объекты
Чтобы получить статистику всей рекламы со статусом ARCHIVED в рекламном аккаунте, выполните следующий запрос:
Статистика по удаленным объектам
В этом примере в запросе используется ad.effective_status :
Устранение неполадок
Таймауты
Чаще всего к сбою этой конечной точки приводит слишком большое количество запросов и таймаутов:
Ограничение числа обращений
API Insights Facebook ограничивает число обращений, чтобы обеспечить оптимальную производительность при создании отчетов для всех наших партнеров. Дополнительную информацию и советы см. в разделе Ограничения и рекомендации для API Insights.
Дополнительная информация
Конечные точки, не включенные в список выше, не поддерживаются данным API. Если вы хотите включить в свое решение отчеты от Facebook, ознакомьтесь с условиями использования платформы Facebook и правилами API Marketing для разработчиков.
Обзор Facebook API
В данной статье будут рассмотрены основные возможности Facebook API для интеграции сайта с этой социальной сетью.
Платформа Facebook
Перед тем как рассматривать способы взаимодействия с какой-либо системой, нужно представлять, как она устроена изнутри. В качестве операционной системы создатели Facebook выбрали Linux, основная часть кода написана на PHP (который средствами HipHop компилируется в c++). База данных MySQL используется как хранилище пар ключ-значение, никаких сложных структур и join запросов. Для кэширования применяется memcached.
Для представления масштабов системы следует обратить внимание на следующую статистику:
Graph API
Существуют альтернативные идентификаторы, более приятные глазу, например, ту же страницу можно получить так https://graph.facebook.com/platform.
Все объекты в графе могут быть связаны между собой отношениями, проверить наличие данной связи можно следующим способом:
Новостная лента: https://graph.facebook.com/me/home?access_token=.
Основные объекты Facebook:
Также есть возможность запрашивать несколько объектов одновременно:
Существует универсальный способ показать картинку любого объекта:
Естественно, этот подход работает и с профилями, событиями, группами и др. объектами графа. Дополнительный синтаксический сахар в возможных параметрах: square (50×50), small (50 пикселов в ширину, высота подбирается автоматически), large (200 пикселов в ширину, высота варьируемая). Пример запроса:
Естественно, что информации больше, чем мы можем принять за один запрос, поэтому рассмотрим механизм постраничного получения данных:
Стоит отметить, что если информация пришла не вся, то в json-ответе будет объект data с нашими данными и объект paging, содержащий поля previous и next, в которых содержатся ссылки для получения предыдущей и следующей страницы, соответственно. Это очень удобно, если нужно вытянуть из социальной сети всю информацию по определённому ключевому слову, её объём заранее неизвестен.
По умолчанию, дата в запросах представлена согласно стандарту ISO-8601, т.е. выглядит примерно так 2011-02-22T23:59:56+0000
Существует возможность задать формат возвращаемой даты:
Публикация. Картина была бы не полной, если бы мы ничего не могли дописывать в граф. К счастью, это возможно с помощью HTTP POST запроса. Например, если нам надо опубликовать новое сообщение в новостной ленте пользователя Vasya_Pupkin (т.е. дописать сообщение в объект https://graph.facebook.com/Vasya_Pupkin/feed), то это можно сделать следующим запросом:
Для управления подписками можно использовать (POST/GET/DELETE)
Хранятся подписки в таком виде:
Механизм взаимодействия Faceook и подписанного на обновления стороннего сайта:
Новые данные придётся получать отдельным запросом.
Авторизация
Для аутентификации Facebook использует протокол OAuth 2.0, суть которого в трёх шагах:
После прохождения этих трёх шагов сайт получает «user access token», который позволяет делать с данными пользователя всё, что он разрешил.
Facebook поддерживает аутентификацию на стороне сервера и на стороне клиента (JavaScript).
Примечание: Facebook поддерживает три типа приложений (Websites, Apps on Facebook.com, Mobile). В данной статье рассматривается только интеграция web-сайтов c социальной сетью.
Аутентификация, серверная сторона:
Есть возможность запросить разрешение на offline_access, тогда token будет действовать вечно.
Выполняются похожие действия, итогами которых станет
access_token придётся извлекать из url при помощи JavaScript
Примеры обоих способов (на php и js) можно найти по ссылке http://developers.facebook.com/docs/authentication/.
Social plugins
Разработанные Facebook модули легко встраиваются в сторонний сайт, они позволяют интегрировать все самые распространённые функции:
Перед тем, как разрабатывать собственный функционал, следует подробно изучить все возможности стандартных социальных модулей, может статься, предъявляемые требования уже реализованы. Более подробно с социальными модулями можно познакомиться по ссылке http://developers.facebook.com/docs/plugins/.
Facebook SDKs
В данном разделе будет рассмотрен основной инструментарий, который можно использовать для разработки под facebook api.
Вот так можно реализовать асинхронную загрузку JavaScript библиотеки
Позволяет парсить fbml тэги из DOM’а
Упрощает добавление социальных плагинов:
Также есть «встроенные функции» now(), strlen(), substr() и strpos().
Вещь весьма удобная, почитать описание «таблиц» и синтаксиса можно по ссылке http://developers.facebook.com/docs/reference/fql/
Старый API, который в скором времени будет удалён, не рекомендуется его использовать, однако ознакомиться с ним можно по ссылке http://developers.facebook.com/docs/reference/rest/
Реальные задачи
Большинство задач для обычных сайтов можно решить средствами стандартных социальных модулей. Примеры нестандартных задач также не являются сложными.
Составить top сайтов по количеству like’ов. Для решения данной задачи был использован старый REST API (а именно http://developers.facebook.com/docs/reference/rest/links.getstats/).
Заключение