使用webhook获取Facebook主角广告的表单名称
问题描述:
我有两个不同的Facebook主角广告系列(A和B)连接到同一个FB页面,我已将它连接到这个guide使用Facebook广告PHP sdk的webhook,并通过导致我的客户关系管,一切工作正常,问题是,我不能告诉如果领导从形式A或B。使用webhook获取Facebook主角广告的表单名称
我试图从名字拉这样的:
$input = json_decode(file_get_contents('php://input'), true);
if($input)
{
$form_id = $input['entry'][0]['changes'][0]['value']['form_id'];
$form = AdsWebhookHandler::getFormName($form_id);
}
从AdsWebhookHandler
类:
public static function getFormName($form_id)
{
$form = new LeadgenForm($form_id);
if(!$form) return $form_id;
return $form->read();
}
但形式上总是从某些原因返回空({}
)。 有谁知道我该如何拉表格名称?或者甚至更好 - 是否可以在表单中传递自定义隐藏字段?
谢谢大家的任何回答:)
答
行,所以我想出如何获取表单名称,所有我需要做的就是使用包含在Facebook的PHP SDK中的getData()
功能,我的代码看起来是这样的现在:
public function getFormName($form_id)
{
$form = new LeadgenForm($form_id,null,$this->fb_instance);
if(!$form) return $form_id;
$data = $form->read()->getData();
return isset($data['name']) ? $data['name'] : $form_id;
}
希望它会帮助别人的未来:)