CartoDB - SQL API - Опубликовать запрос с php

1

В моем приложении я бы хотел отправить небольшое количество данных в мою картографическую таблицу с моим php-скриптом. Я хотел бы использовать SQL-API. Мое приложение анализирует данные в форме:

https://{account}.cartodb.com/api/v2/sql?q=INSERT INTO test_table (column_name, column_name_2, the_geom) VALUES ('this is a string', 11, ST_SetSRID(ST_Point(-110, 43),4326))&api_key={Your API key}

Я пробовал несколько функций http_get, file_get_contents, http_request но ничего не передавал данные в мою учетную запись. Когда я копирую/вставляю URL-адрес и открываю его в браузере, все добавляется.

Какая правильная функция? Там так много разных... PHP-HTTP-функции

РЕДАКТИРОВАТЬ

С кодом из этого решения я получаю эту ошибку, когда я распечатываю ответ:

{"error":["syntax error at end of input"]}

в браузере я получаю следующее:

{"rows":[],"time":0.038,"fields":{},"total_rows":1}

мой код запроса прямо сейчас:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $fullurl);
// Set so curl_exec returns the result instead of outputting it.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Get the response and close the channel.
$response = curl_exec($ch);
curl_close($ch);
print($response);
  • 0
    Может быть проблема с сертификатом, поскольку он запрашивается на https, посмотрите на этот ответ
  • 0
    Работает, что я получаю ответ. Но я получаю ошибку {"error": ["Вы должны указать SQL-запрос"]}
Показать ещё 2 комментария
Теги:
http
cartodb

1 ответ

1

Найден результат: с CURLOPT_POST => 1 он работает!

$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => "https://".$cartodb_key.".cartodb.com/api/v2/sql",
CURLOPT_USERAGENT => 'Sample cURL Request',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => array(
    api_key => $api_key,
    q => "INSERT INTO spot (".implode (", ", array_keys($data)).") VALUES (".implode (", ", $data).")"
  )
));
$response = curl_exec($ch);
curl_close($ch);
  • 0
    Здорово, что вы нашли решение самостоятельно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню