Я экспериментирую с API Basecamp, пытаясь создать проект.
Я использую следующий код:
#CONTENT-TYPE HEADER
$helloHeader = "User-Agent: $appName ($appContact)";
#URL
$url= $baseUrl.'/projects.json';
#JSON DATA
$data = array
(
'nome' => 'project xpto'
);
$data_aux = json_encode($data);
$data_string = 'json=' . $data_aux . '&';
#INITIALIZE
$ch = curl_init($url);
#standard
curl_setopt($ch, CURLOPT_USERPWD, $credentials);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 3);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
#OBTAIN DATA
//curl_setopt($ch, CURLOPT_HTTPGET, true);
#SEND DATA
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json",
"User-Agent: " . $appName . "(" . $appContact . ")")
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
$response = curl_exec($ch);
#ERRORS?
$errno = curl_errno($ch);
$error = curl_error($ch);
#CLOSE
curl_close($ch);
И у меня появляется следующая ошибка:
lexical error: invalid char in json text.
json={"nome":"project xpto"}&
(right here) ------^
Есть идеи, что я делаю не так? Я пытался изменить массив несколькими способами, но я не могу понять эту ошибку!
Задача ещё не решена.
Других решений пока нет …