Что не так с этим скриптом PHP CURL (с интегрированным API Foursquare)? - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь интегрировать 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;
}

Но когда я запускаю этот скрипт на своем сайте и пытаюсь опубликовать изображение, оно

Произошла ошибка при обработке вашего запроса

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Это может иметь несколько причин.Из сообщения об ошибке я не могу сказать, где именно он срабатывает, но когда происходит сбой скручивания, вам следует сначала выяснить, были ли какие-либо проблемы с самим запросом скручивания.

Используйте для этого curl_error: http://php.net/manual/de/function.curl-error.php

А вы правильно используете API-Call?В документах POST https://api.foursquare.com/v2/photos/add вообще нет $photo параметров.

Также при использовании POST следует добавлять параметры через

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

, а не как GET-параметры через URL.

0 голосов
/ 09 октября 2018

Удалите строки

curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: multipart/form-data"));

и попробуйте просто

curl_setopt($curl, CURLOPT_POST, false);

Вы отправляете запрос с аргументами GET

...