Je construis une intégration mailchimp et ils nécessitent un appel POST avec du code JSON.
Non, j'utilise ce code qui fonctionne réellement :
$data = wp_remote_post($url, array(
'headers' => array('Content-Type' => 'application/json; charset=utf-8'),
'body' => json_encode($array_with_parameters),
'method' => 'POST'
));
Mais, il renvoie un avertissement PHP
Avertissement: http_build_query (): le paramètre 1 devrait être un tableau ou un objet. Valeur incorrecte donnée dans ../wp-includes/Requests/Transport/cURL.php sur la ligne 507
Comment l'exploiter?
J'ai essayé d'utiliser simplement le tableau simple dans l'index 'body' mais MailChimp renvoie une erreur d'analyse JSON.
json
http-api
plugin-mailchimp
wp-remote-post
un codeur
la source
la source
Réponses:
Essayez de définir le
data_format
paramètre dans votre demande comme suit:Il semble que le format soit par défaut
query
, auquel cas WordPress tente de formater les données à l'aidehttp_build_query
, ce qui vous pose des problèmes puisque vous formatez déjà le corps sous forme de chaîne. Voici l'enregistrement pertinentwp-includes/class-http.php
:Puisque votre erreur provient de la ligne 507 de
wp-includes/Requests/Transport/cURL.php
, nous pouvons voir que c'est l'appel racine àhttp_build_query
:la source