如何在没有 API 详细信息的情况下获取潜在客户详细信息?

How to get lead details without API details?

我按照说明进行操作 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 令牌)

在我们通过 webhook 连接的服务器上设置 API 以接收 LeadAd 数据并将其自动存储在我们的数据库中的最佳方法是什么?我们是否必须每两个月手动创建一个新令牌?有没有更好的办法?

Facebook 广告平台中有 "system user" 应该是您问题的答案。请在下面找到它的详细信息: https://developers.facebook.com/docs/marketing-api/businessmanager/systemuser/v2.5

简而言之,通过使用系统用户,您将能够生成一个不需要用户每隔一定时间登录的令牌。但是,您需要拥有具有标准访问权限的应用程序才能在商务管理平台中创建系统用户。

希望对您有所帮助!