使用 Marketing API 上传离线转化数据时 Facebook 出现错误 #100

问题描述 投票:0回答:2

我正在使用 Facebook Marketing API 上传离线转化数据。

所附代码在大约两周前之前一直有效,现在报告以下错误。

{"error":{"message":"(#100) 参数数据为必填","type":"OAuthException","code":100,"fbtrace_id":"HkpzkWB1I5g"}}

我不明白为什么它在按预期工作这么长时间后就停止工作了。我不知道如何解决它。有什么想法吗?

$data=array();
			$data["match_keys"]["email"]=$emails;
			$data["match_keys"]["phone"]=$mobiles;
			$data["match_keys"]["fn"]=hash("sha256",$first_name);
			$data["match_keys"]["ln"]=hash("sha256",$last_name);
			$data["match_keys"]["ln"]=hash("sha256",$last_name);
			$data["match_keys"]["ct"]=hash("sha256",$suburb);
			$data["match_keys"]["zip"]=hash("sha256",$postcode);
			$data["match_keys"]["country"]=hash("sha256","Australia");
			$data["event_time"] = strtotime($order_date);
			$data["event_name"] = "Purchase";
			$data["currency"] = "AUD";
			$data["value"] = $order_total;
			$data['order_id']=$order_id;

$access_token = '<access_token_0>'; 

// PURCHASE DATA
$data_json = json_encode(array($data));
$fields = array();
$fields['access_token'] = $access_token;
$fields['upload_tag'] = uniqid() // You should set a tag here (feel free to adjust)
$fields['data'] = $data_json;



$ch = curl_init();
curl_setopt_array($ch, array(
  // Replace with your offline_event_set_id
  CURLOPT_URL => "https://graph.facebook.com/v2.12/1696501357346693/events", 
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>  http_build_query($fields),
  CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache",
    "content-type: multipart/form-data",
    "Accept: application/json"  ),
));

$result = curl_exec($ch);
echo "\nResult encode";
echo ($result);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close ($ch);

facebook facebook-graph-api facebook-javascript-sdk facebook-php-sdk
2个回答
9
投票

同样的事情刚刚开始发生在这里。完全相同的问题。我不得不玩几个小时......但为了让它工作,我注释掉了

//"content-type: multipart/form-data", 

它开始对我有用。请告知这是否也解决了您的问题。


1
投票

这只是意味着数据未按照文档发送。我遇到了这个问题,因为在我的例子中,“contents”参数传递空字符串,而不是文档说“contents”参数应包含至少 2 个参数,即 quantityid

浏览文档,您可以将您的值格式与文档进行比较。

这里是文档链接:- https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/custom-data#content-ids

© www.soinside.com 2019 - 2024. All rights reserved.