CURL в PHP CURL

У меня небольшая проблема с преобразованием cURL в PHP cURL.

CURL это:

curl -X POST https://api.curated.co/PUBLICATION_KEY/api/v1/email_subscribers -H 'Accept: application/json' -H 'Content-type: application/json' -H 'Authorization: Token token="API_KEY"' -d '{ "email" : "new_subscriber@example.com" }'

Я конвертирую это в:

<?php
$headers = array(
'Accept: application/json',
'Content-type: application/json',
'Authorization: Token token="API_KEY"'
);
$data = array("email" => "new_subscriber@example.com");
$data_string = json_encode($data);

$ch = curl_init('https://api.curated.co/PUBLICATION_KEY/api/v1/email_subscribers');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
?>

Но я не получаю никакого ответа.
Замечания: Я меняю API_KEY а также PUBLICATION_KEY с правильными.

Я следую этому руководству: http://support.curated.co/hc/en-us/articles/201753981-Adding-Subscribers-with-the-API

Можете ли вы дать мне знать, если я что-то упустил?

2

Решение

Я бы определенно заменил curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); с curl_setopt($ch, CURLOPT_POST, true); Если это ничего не меняет, вы также можете добавить curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); на всякий случай в Curated задействовано перенаправление (возможно, у них отдельный слой авторизации, который затем перенаправляет вас к желаемой конечной точке)

0

Другие решения

Попробуйте это (:

Чтобы преобразовать команду Curl в PHP
https://incarnate.github.io/curl-to-php/

curl_setopt ($ ch, CURLOPT_URL, "https://api.curated.co/PUBLICATION_KEY/api/v1/email_subscribeers");
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ ch, CURLOPT_POSTFIELDS, "{\" email \ ": \" new_subscriber@example.com \ "}");
curl_setopt ($ ch, CURLOPT_POST, 1);

$ headers = array ();
$ headers [] = "Accept: application / json";
$ headers [] = "Content-Type: application / x-www-form-urlencoded";
$ headers [] = "Authorization: Token token = \" API_KEY \ "";
curl_setopt ($ ch, CURLOPT_HTTPHEADER, $ заголовки);

$ result = curl_exec ($ ch);
if (curl_errno ($ ch)) {
echo 'Ошибка:'. curl_error ($ ч);
}
curl_close ($ ch);
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector