Я пытаюсь интегрировать Foursquare API на мой сайт, вот код:
$curl = curl_init('https://api.foursquare.com/v2/photos/add?v=20181008&oauth_token='.$token.'&photo='.$args['img'].'&venueId='.$title); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: multipart/form-data")); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); curl_close($curl); // Decode the response $data = json_decode($data); // Verify if the post was published if ( @$data->meta->code == 200) { return true; } else { return false; }
Но когда я запускаю этот скрипт на своем сайте и пытаюсь опубликовать изображение, оно
Произошла ошибка при обработке вашего запроса
Это может иметь несколько причин.Из сообщения об ошибке я не могу сказать, где именно он срабатывает, но когда происходит сбой скручивания, вам следует сначала выяснить, были ли какие-либо проблемы с самим запросом скручивания.
Используйте для этого curl_error: http://php.net/manual/de/function.curl-error.php
А вы правильно используете API-Call?В документах POST https://api.foursquare.com/v2/photos/add вообще нет $photo параметров.
$photo
Также при использовании POST следует добавлять параметры через
POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
, а не как GET-параметры через URL.
Удалите строки
curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: multipart/form-data"));
и попробуйте просто
curl_setopt($curl, CURLOPT_POST, false);
Вы отправляете запрос с аргументами GET