Facebook graph api Facebook API:无法检索Facebook Lead广告
我已成功设置一个webhook,指向我的回调URL,它接收以下示例数据:Facebook graph api Facebook API:无法检索Facebook Lead广告,facebook-graph-api,facebook-php-sdk,facebook-ads-api,Facebook Graph Api,Facebook Php Sdk,Facebook Ads Api,我已成功设置一个webhook,指向我的回调URL,它接收以下示例数据: Array ( [object] => page [entry] => Array ( [0] => Array ( [id] => 297269987142139 [time] => 1454876106 [changes] => Array
Array
(
[object] => page
[entry] => Array
(
[0] => Array
(
[id] => 297269987142139
[time] => 1454876106
[changes] => Array
(
[0] => Array
(
[field] => leadgen
[value] => Array
(
[ad_id] => 410908499427
[adgroup_id] => 238113717077
[created_time] => 1454847306
[form_id] => 577581087825
[leadgen_id] => 441393665441
[page_id] => 297269987142139
)
)
)
)
)
)
但是,如果我尝试检索与leadgen_id as关联的数据,它将不起作用:
use FacebookAds\Object\Lead;
$form = new Lead('441393665441');
$form->read();
我收到以下错误:不支持get请求。请阅读Graph API文档,网址为https://developers.facebook.com/docs/graph-api
我什么都试过了,但不明白为什么不行
我发送的测试线索如下:
curl \
-F "object_id=<PAGE_ID>" \
-F "object=page" \
-F "field=leadgen" \
-F "access_token=<ACCESS_TOKEN>" \
-F 'custom_fields={"page_id": <PAGE_ID>}' \
"https://graph.facebook.com/<API_VERSION>/<APP_ID>/subscriptions_sample"
我也努力让这个工作,似乎没有人作出任何复制和粘贴解决方案,似乎工作 此PHP函数适用于我:
function getLead($leadgen_id,$user_access_token) {
//fetch lead info from FB API
$graph_url= 'https://graph.facebook.com/v2.5/'.$leadgen_id."?access_token=".$user_access_token;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $graph_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$output = curl_exec($ch);
curl_close($ch);
//work with the lead data
$leaddata = json_decode($output);
$lead = [];
for($i=0;$i<count($leaddata->field_data);$i++) {
$lead[$leaddata->field_data[$i]->name]=$leaddata->field_data[$i]->values[0];
}
return $lead;
}
例如,从这里开始,您可以通过在lead中获取属性和值来发送实时邮件:
//Create an email with the lead info
$mail="<html><body><h2>New lead</h2><blockquote>";
$mail.="Lead id: ".$leadgen_id."<br>";
foreach($lead as $attr=>$val) {
$mail.=$attr.": ".$val."<br>";
}
$mail.="</blockquote></body></html>";
我希望这有帮助。请注意,示例lead不包含任何字段。您可以使用自己的Facebook个人资料进行测试,以获取真实数据 谢谢@John Sandy这帮了大忙:- 然而,如果其他人也在挣扎,请在浏览器中使用下面的url https://graph.facebook.com/v2.5/leadgen_id?access_token=xxxxxxxx 注意:插入您的leadgen_id和访问令牌 希望这会有所帮助 谢谢
Pranav我已经使用JavascriptSDK和ReactJS完成了这项工作。您只需要页面访问令牌就可以从lead中检索值。确保你已经用你的应用程序对页面进行了分类。您需要在以下位置拨打GET电话:
https://graph.facebook.com/v2.11/<leadgen_id>?access_token=<page_access_token>
欲了解更多信息,请查看链接:如果有文档记录且不起作用,请随时提交Bug。访问令牌需要什么权限?@john sandy谢谢。它的工作,我设法得到令牌,但我似乎不记得我做了哪些步骤来生成它。。。此外,我需要生成60天有效令牌,似乎找不到一个方法,请有人在此主题上提供帮助?如何为一个帐户创建访问令牌?我不是在为很多账户制作应用程序,只是一个商业账户来获取潜在客户。如何获取潜在客户id?
https://graph.facebook.com/v2.11/<leadgen_id>?access_token=<page_access_token>