Я работаю с API, где мне нужно предоставить параметры через GET, чтобы получить ответ.
Я работаю с PHP.
Это то, что говорит документация API:
аргументы
{ 'answers': { 'q0':2, 'q1':2, 'q2':1 } }
ответы (обязательно), хэш
Хэш описывает ответы.
Я знаю, что сам API написан в Ruby, поэтому я предполагаю, что "hash" переводится в "ассоциативный массив" в контексте PHP (пожалуйста, исправьте меня, если вы считаете, что я здесь не прав), я не знаю Ruby, но именно здесь меня ведут исследования).
Тем не менее, это то, что я пробовал до сих пор (без успеха - я действительно не совсем уверен, как справиться с этим):
Мой (ужасно сломанный) код:
$answers = array('q0' => 1,
'q1' => 2,
'q2' => 3,
'q3' => 0,
'q4' => 2,
'q5' => 1,
'q6' => 0
);
$url = "https://myapiurl.com?answers=" . $answers;
$session = curl_init($url);
curl_setopt ($session, CURLOPT_HTTPHEADER, array('Authentication: Token token=' . $token . ', Content-Type:application/json'));
curl_setopt ($session, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($session, CURLOPT_HTTPGET, true);
curl_setopt ($session, CURLOPT_TIMEOUT, '3');
$response = curl_exec($session);
curl_close($session);
var_dump($response);
Буду признателен за любую оказанную помощь.
Вы можете попробовать индексировать параметры URL-адреса оператора для вложенных параметров в запросах GET. Например:
"https://myapiurl.com?answers[q0]=1&answers[q1]=2"
и т.д.
По крайней мере, он работал на сервере synatra, поэтому он также должен работать на сервере rails.