Попытка реализовать DELETE https://api.sendgrid.com/v3/contactdb/lists/{list_id} / receients / {receient_id} HTTP / 1.1, чтобы удалить одного получателя электронной почты из списка, но я получаю это сообщение об ошибке в качестве результата: {«errors»: [{«message»: «никаких действительных получателей не было предоставлена»}]}.
Вот код, который я модифицировал Отправка DELETE в API с использованием PHP:
<?php
$list = "971292";
$recipient = "[email protected]";
$url = 'https://api.sendgrid.com/v3/contactdb/lists/' . $list . '/recipients/' . $recipient;
//this is the data you will send with the DELETE
**# DO I NEED THIS?**
$fields = array(
'field1' => 'field1',
'field2' => 'field2',
'field3' => 'field3'
);
/*ready the data in HTTP request format
*(like the querystring in an HTTP GET, after the '?') */
$fields_string = http_build_query($fields);
//open connection
$ch = curl_init();
/*if you need to do basic authentication use these lines,
*otherwise comment them out (like, if your authenticate to your API
*by sending information in the $fields, above. */
$username = 'myusername';
$password = 'mypassword';
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
/*end authentication*/
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
/*unless you have installed root CAs you can't verify the remote server's
*certificate. Disable checking if this is suitable for your application*/
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//perform the HTTP DELETE
$result = curl_exec($ch);
//close connection
curl_close($ch);
?>
Сообщение об ошибке «Не были предоставлены действительные получатели» заставляет меня думать, что я должен использовать числовой идентификатор получателя, но я не смог найти его для рассматриваемого адреса электронной почты. Где это находится?
Кроме того, есть ли что-то еще из приведенного выше кода, что вызывает у меня проблемы?
Задача ещё не решена.
Других решений пока нет …