Использование пользователя системы Facebook Business Manager для доступа к данным - PullRequest
0 голосов
/ 11 июня 2019

У меня есть веб-приложение, в котором мне нужно загружать офлайновые конверсии бизнес-менеджерам своих клиентов через API Facebook. Я настроил приложение для входа в Facebook, где пользователи будут подключать свою учетную запись и предоставлять области ads_management и business_management. Затем они добавят моего бизнес-менеджера в качестве партнера.

Я добавил свое приложение в свой Facebook Business Manager и создал обычного системного пользователя. Я также добавил свое приложение в качестве актива этому системному пользователю.

Насколько я понимаю, я смогу получить доступ к данным других бизнес-менеджеров от этого пользователя системы (например, к их рекламным аккаунтам и наборам событий конверсии в автономном режиме). Я попытался прочитать эти данные, используя токены доступа пользователя, которые я получаю из потока аутентификации, и это работает. Однако я не смог добиться того же с моим системным пользователем. Причина, по которой я создал системного пользователя, заключалась в том, что я думал, что это лучший подход, когда бэкэнд-система управляет всем с помощью API. Возможно, я что-то неправильно понял.

Например, если я сделаю следующий вызов API ...

curl "https://graph.facebook.com/v3.3/{business_manager_id}/owned_ad_accounts?access_token={access_token}"

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

Так что мой вопрос двоякий; я должен использовать системного пользователя для этого (чтение данных и выгрузка офлайн-конверсий), и если да, то как мне правильно настроить систему, чтобы системный пользователь мог читать данные из бизнес-менеджера аутентифицированного пользователя? Или я могу просто сохранить и использовать токен доступа из потока аутентификации? Как я прочитал в документации, токены для областей, которые я запрашиваю, не имеют срока действия. Я просто думал, что должен использовать системного пользователя, но что я знаю ...; -)

...