我按照说明here进行了实时更新。 但问题是如何使用此代码获取潜在客户详细信息:
use FacebookAds\Object\Lead;
$form = new Lead(<LEAD_ID>);
$form->read();
当我使用Leadgen ID然后收到错误:致命错误:未捕获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": [
"joe@example.com"
]
}]
}
但是user_access_token在2个月后过期(long_lived令牌)
在我们的服务器上设置API的最佳方法是什么?我们通过webhook连接以接收LeadAd数据并自动将其存储在我们的数据库中?我们是否必须每两个月手动创建一个新令牌?有没有更好的方法?
答案 0 :(得分:1)
Facebook广告平台中有“系统用户”应该是您问题的答案。请在下面找到详细信息: https://developers.facebook.com/docs/marketing-api/businessmanager/systemuser/v2.5
简而言之,通过使用系统用户,您将能够生成一个不需要用户在每个特定时间段内登录的令牌。但是,您需要拥有一个具有标准访问权限的应用程序才能在您的业务经理中创建系统用户。
希望它有所帮助!