Я пытаюсь написать скрипт на основе инструкции здесь:PHP добавив обратную косую черту в моей CURL команды для Facebook Оффлайн Конверсии
https://developers.facebook.com/ads/blog/post/2016/12/18/lead-ads-offline/
Но у меня возникают проблемы с JSon строки, переданной в качестве параметр curl в PHP. Похоже, что это добавление обратной косой черты («match_keys»: «недействительные ключи \» электронной почты \»и т.д.). Которые являются причиной вызова API сбой
Я пытался играть с:
json_encode($array,JSON_UNESCAPED_SLASHES);
Я пробовал кучу SO ответы уже как Curl add backslashes, но не повезло
<?php
$email = hash('sha256', '[email protected]');
$data = array("match_keys" => '{"email": $email}',
"event_time" =>1477632399,
"event_name"=> "Purchase",
"currency"=> "USD",
"value"=> 2.00);
$fields = [
// 'upload_tag'=>'2016-10-28-conversions',
'access_token'=>'#######',
'data'=> $data
];
$url = 'https://graph.facebook.com/v2.8/#######/events';
echo httpPost($url, $fields);
function httpPost($url, $fields)
{
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($fields));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
?>
Это ответ:.
Array{"error":{"message":"(#100) Invalid parameter","type":"OAuthException","code":100,"error_data":{"match_keys":"Invalid keys \"email\" were found in param \"data[match_keys]\".","event_time":"Out of bounds array access: invalid index match_keys","event_name":"Out of bounds array access: invalid index match_keys","currency":"Out of bounds array access: invalid index match_keys","value":"Out of bounds array access: invalid index match_keys"},"fbtrace_id":"BrVDnZPR99A"}}%