В PHP я использую завихрение для отправки удаления в fb API графика - и все же я получаю следующую ошибку;
{"error":{"type":"GraphMethodException","message":"Unsupported delete request."}}
Код, который я использую;
$ch = curl_init("https://graph.facebook.com/" . $status_id . "");
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_CAINFO, NULL);
curl_setopt($ch, CURLOPT_CAPATH, NULL);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
$result = curl_exec($ch);
echo $result;
$query содержит маркер доступа.
Исправлено!
При удалении необходимо добавить идентификатор пользователя к идентификатору объекта:
УДАЛИТЬ https://graph.facebook.com/673509687_104812882909249?access_token= {access_token} где 673509687 - это мой идентификатор пользователя, а 104812882909249 - идентификатор объекта
Единственное, что я могу придумать, это попытаться
1) выполнить запрос POST с помощью "method = delete", чтобы проверить, работает ли это
2) вручную просмотреть полученные HTTP-запрос, чтобы убедиться, что что-то не так - тогда вы можете изолировать проблему
Это просто означает, что метод удаления HTTP не поддерживается для этого конкретного объекта.
Один из вариантов - использовать Http POST и добавить method = delete в запрос параметров. Убедитесь, что ваше приложение имеет разрешение publish_stream
, иначе вы никогда не сможете публиковать канал.
Разрешения предоставляет Facebook.