Я следил за инструкциями здесь и получал обновления в реальном времени. Но проблема в том, как я могу получить информацию о свинце, используя этот код:
use FacebookAds\Object\Lead;
$form = new Lead(<LEAD_ID>);
$form->read();
Когда я использую Leadgen ID, то получаю ошибку: Fatal error: Uncaught InvalidArgumentException: экземпляр Api должен быть предоставлен в качестве аргумента или задан как экземпляр в...
Но если я использую:
use FacebookAds\Api;
use FacebookAds\Object\Lead;
Api::init(
'appid',
'secret_token',
$_SESSION['facebook_access_token']
);
$form = new Lead('leadgenid');
$form->read();
Затем я получаю данные так, как хочу:
{
"created_time": "2015-02-28T08:49:14+0000",
"id": "<LEAD_ID>",
"ad_id": "<AD_ID>",
"form_id": "<FORM_ID>",
"field_data": [{
"name": "car_make",
"values": [
"Honda"
]
}, {
"name": "full_name",
"values": [
"Joe Example"
]
}, {
"name": "email",
"values": [
"[email protected]"
]
}]
}
Но user_access_token истек через 2 месяца (long_lived token)
что лучше всего настроить API на нашем Сервере, который мы подключаем через webhook для получения данных LeadAd и автоматически сохраняем его в нашей базе данных? Нужно ли создавать новый токен каждые два месяца вручную? есть ли лучший способ?
В платформе объявлений facebook есть "системный пользователь", который должен отвечать на ваш вопрос. Подробности см. Ниже: https://developers.facebook.com/docs/marketing-api/businessmanager/systemuser/v2.5
Короче говоря, используя системного пользователя, вы сможете генерировать токен, который не требует, чтобы пользователь входил в каждый определенный период. Однако вам нужно иметь приложение, имеющее стандартный доступ, чтобы иметь возможность создавать системного пользователя в вашем бизнес-менеджере.
Надеюсь, что это поможет!