J'utilise une documentation api laravel en ligne dans mon application. Quand j'exécute mon code dans mon navigateur, j'obtiens l'erreur "passer le champ de numéro de téléphone en tant que tableau". Mais le champ numérique est déjà passé en tant que champ tableau. Que pourrais-je manquer ci-dessous dans mon code? Merci d'avance
Array
(
[phoneNumber] => Array
(
[0] => 44234200234
[1] => 44234242002
)
[from] => test
[content] => I love to code
)
{"status":"error","message":"Make sure you are passing the phoneNumber field as an array"}
Quand je retourne $ variables, j'obtiens la réponse
public function testAPI(Request $request)
{
$on_call_back = 'https://learntoday.co.uk/var';
$id = '*****';
$url = $on_call_back.'?key='.$id;
$variables = [
'phoneNumber' => ['44234200234','44234242002'],
'from' => 'world',
'content' => 'I love to code',
];
$ch = curl_init();
$headers = array();
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($variables));
$result = curl_exec($ch);
$result = json_decode($result, TRUE);
curl_close($ch);
}
4 Réponses :
Votre syntaxe du tableau semble être incorrecte, avez-vous essayé de mettre chaque nombre entre guillemets simples comme ceci:
'phoneNumber' => ['44234200234', '44234242002'],
@CodeNewbie encore une fois sur votre modification, il vous manque un guillemet simple de clôture sur votre premier numéro
OK .. Merci .. Je viens de mettre à jour et de relancer le code, mais même erreur s'il vous plaît
Vous devriez essayer ceci:
public function testAPI(Request $request)
{
$on_call_back = 'https://learntoday.co.uk/var';
$id = '*****';
$url = $on_call_back.'?key='.$id;
$variables = [
'phoneNumber' => ['44234200234','44234242002'],
'from' => 'world',
'content' => 'I love to code',
];
$ch = curl_init();
$headers = array();
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($variables));
$result = curl_exec($ch);
$result = json_decode($result, TRUE);
curl_close($ch);
}
Réponse mise à jour
$variables = [
'phoneNumber' => ['44234200234','44234242002'],
'from' => 'world',
'content' => 'I love to code',
];
Veuillez essayer d'envoyer la variable $ comme ci-dessous le code
$variables = array(
'phoneNumber' => array('44234200234','44234242002'),
'from' => 'world',
'content' => 'I love to code',
);
Remplacez
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($variables));
par
curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ variables);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($variables));
Après avoir changé cette ligne de code, j'obtiens l'erreur Conversion de tableau en chaîne
@CodeNewbie a mis à jour ma réponse.