Интеграция входа через Facebook с использованием Reporting Audience Network API версии 2

Вход через Facebook — это новый способ предоставления доступа к данным Reporting Audience Network API. Он заменит более ранний метод копирования маркера системного пользователя из интерфейса Monetisation Manager. Такой подход представляет собой более надежный метод обеспечения доступа к вашим данным, поскольку при этом исключается риск раскрытия маркера Monetisation Manager за пределами компании.

В этом документе содержатся указания для партнеров по интеграциям API прямой отчетности, мобильным измерениям, партнеров по агрегации и других партнеров Facebook, которые предоставляют доступ к данным Reporting API от имени издателей.

Я получаю данные Reporting API через сторонний сервис

Если вы используете сервис партнера (по агрегации или мобильным измерениям), дополнительной работы с кодом от вас не потребуется. Убедитесь, что у вашего партнера интегрирован вход через Facebook. Нажмите "Войти через Facebook" и выберите свойства, к которым нужно дать доступ со сгенерированным маркером.

Если вы выберете все свойства, маркер будет предоставлять доступ ко всем свойствам в рамках компании, пока у создавшего маркер пользователя есть доступ к свойству в Business Manager.

Разрешения

Если вы планируете использовать Reporting API напрямую, сначала нужно создать приложение Facebook и получить необходимые разрешения. Чтобы получить доступ к Reporting API Audience Network, вашему приложению понадобится разрешение read_audience_network_insights. Чтобы получить это разрешение для приложения, необходимо подключить компанию к Audience Network.

  • Выберите созданную новую компанию в поле бизнес-аккаунта.

Создав приложение, вы должны будете связать его со своим аккаунтом Monetization Manager. Для этого выберите "Audience Network" и нажмите кнопку "Настроить". Выберите аккаунт Monetization Manager, с которым нужно установить связь.

Это также можно сделать на странице developers.facebook.com/apps. Выберите на ней только что созданное приложение.

Теперь ваше приложение настроено для Audience Network и может использовать разрешение read_audience_network_insights. Если вы не видите разрешение read_audience_network_insights, проверьте, есть ли у приложения доступ к вашему бизнес-аккаунту Monetization Manager.

Если ранее вы получили разрешение read_insights permission с помощью входа через Facebook, оно может по-прежнему работать, однако мы рекомендуем перейти на разрешение read_audience_network_insights.

Способ доступа к Reporting API будет зависеть от типа вашей интеграции. Следуйте инструкциям для вашего случая:

Прямая интеграция API без пользовательского интерфейса

Если у вас есть собственная прямая интеграция для Reporting API без пользовательского интерфейса и вы запрашиваете через нее данные только для своей компании, для доступа к Reporting API следуйте этим инструкциям.

Создайте маркер пользователя с помощью Graph API Explorer

  1. Если вы уже внедрили Marketing API в свое приложение, пропустите этот шаг. Если нет, следуйте инструкциям по получению разрешения read_audience_network_insights.
  2. Перейдите в Graph API Explorer.
  3. Выберите приложение.
  4. Выберите разрешение read_audience_network_insights ("Разрешения" > "Страницы групп событий") и нажмите Сгенерировать маркер доступа.
    1. Теперь в течение некоторого времени вы можете обращаться к данным Reporting API в Audience Network с помощью этого маркера, а не маркера из Monetization Manager.
    2. Предупреждение. Срок действия этого маркера истекает через 2 часа. Его необходимо преобразовать в долгосрочный маркер, следуя инструкциям ниже.

Преобразуйте этот временный маркер в долгосрочный маркер доступа

  1. Откройте Отладчик маркеров доступа.
  2. Вставьте маркер и нажмите Отладка.
  3. Прокрутите вниз до конца таблицы с информацией о маркере и нажмите кнопку Продлить маркер доступа.
  4. Скопируйте полученный маркер.

Теперь можно обращаться к данным Reporting API в Audience Network с помощью этого маркера.

Прямая интеграция API с пользовательским интерфейсом

Руководство ниже может быть полезно, если у издателя или партнера есть собственный интерфейс, где можно разместить кнопку входа через Facebook. Оно будет полезно издателям, которым необходим доступ к собственным данным, а также партнерам, которые хотят получать доступ к данным о монетизации других издателей с их разрешения.

Описанные выше действия по получению разрешений показаны в деморолике руководства:

Произошла ошибка
Не удается воспроизвести видео.
  • На портале для разработчиков выберите только что созданное на предыдущих шагах приложение для бизнеса.
  • Добавьте в него новый продукт "Вход через Facebook".
  • Выберите вариант "Веб" и выполните действия по интеграции.
  • Вставьте URL сайта, на котором будет отображаться интерфейс входа через Facebook. Убедитесь, что поддерживается протокол HTTPS.
  • Выполнив все действия, вы получите пример кода для интеграции входа через Facebook на свой сайт. Этот код можно скопировать, однако используйте вместо public_profile,email новое разрешение read_audience_network_insights. При использовании обновленного разрешения ваш код кнопки должен выглядеть примерно так:
<fb:login-button 
  scope="read_audience_network_insights"
  onlogin="checkLoginState();">
</fb:login-button>
  • Убедитесь, что вы включили JavaScript SDK на странице настроек входа через Facebook для своего приложения.
  • Теперь пользователи смогут пройти процесс входа через Facebook на вашей странице, чтобы сгенерировать маркер доступа.
  • Маркер доступа будет возвращаться как часть аргумента, передаваемого в упомянутый выше метод JavaScript statusChangeCallback.
  • По умолчанию срок действия маркера составляет 2 часа.
  • Разработчики могут запросить преобразование этого маркера в долгосрочный маркер доступа без дополнительного взаимодействия с пользователями.
    • Долгосрочные маркеры обновляются раз в день, когда Reporting API делает запрос к серверам Facebook. При отсутствии запросов срок действия маркера истечет приблизительно через 60 дней, после чего пользователю нужно будет сгенерировать новый маркер.
  • Имейте в виду, что данные, доступные через этот маркер, в значительной степени зависят от того, кто проходит процесс входа через Facebook и какими данными этот человек соглашается делиться. Таким образом, если вход через Facebook выполняет сотрудник компании, то полученный маркер доступа будет иметь те же разрешения, что и этот сотрудник.

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

Сообщение об ошибкеЗначениеУстранение ошибки

Чтение статистики Страницы, компании, приложения, домена или группы источников событий, не принадлежащих запрашивающему пользователю или приложению

В случае с маркером входа через Facebook это означает, что у приложения, использующего маркер, нет необходимых разрешений (read_audience_network_insights) либо у пользователя нет разрешения на просмотр определенных свойств. Это может происходить, если пользователю, создавшему маркер, не предоставлен доступ к Business Manager или к запрошенным свойствам.

Администратор Business Manager должен предоставить пользователю, который собирается создать или уже создал маркер, доступ ко всем свойствам.

Данные отсутствуют или пусты

Обычно это означает, что все или некоторые данные были отфильтрованы путем агрегирования конфиденциальных данных. Это также можно проверить в данных Monetization Manager.

Если есть массив omitted_results, это означает, что данные агрегируются и следует запросить более крупный диапазон данных. Дополнительную информацию см. в разделе об агрегировании.

Разрешение read_audience_network_insights не видно для маркера

Приложение, созданное для генерации маркера, было создано не как бизнес-приложение и не связано с вашим Monetization Manager в Audience Network.

Убедитесь, что приложение, которые вы создаете для генерации маркера, является бизнес-приложением. Попробуйте создать новое приложение, следуя инструкциям в разделе "Разрешения". Перейдите на страницу developers.facebook.com/apps и выберите приложение, для которого не видно разрешение read_audience_network_insights. Затем выберите "Audience Network" и нажмите кнопку "Настроить".

Error validating access token: Session has expired on ...

Срок действия маркера истек

Убедитесь, что маркер преобразован в долгосрочный. Следуйте инструкциям из раздела "Преобразуйте этот временный маркер в долгосрочный маркер доступа". Долгосрочные маркеры обновляются один раз в день, когда на серверы Facebook поступает запрос от Reporting API. При отсутствии запросов срок действия маркера истечет приблизительно через 60 дней, после чего пользователю нужно будет сгенерировать новый маркер.

Отображаются два приложения с одинаковым названием

Убедитесь, что у одного из приложений есть разрешение read_audience_network_insights.

Используйте приложение, которое имеет правильные разрешения read_audience_network_insights.

(#200) Способ доступа к Reporting API (версия 2) изменился. Теперь, чтобы приложение могло получить доступ к этому API, вам нужно выполнить вход через Facebook.

Вы не используете учетные данные для доступа к API новым способом.

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