PHP: возвращая 'хэш' в Ruby API как GET

1

Я работаю с 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);

Буду признателен за любую оказанную помощь.

Теги:
hash

1 ответ

1
Лучший ответ

Вы можете попробовать индексировать параметры URL-адреса оператора для вложенных параметров в запросах GET. Например:

"https://myapiurl.com?answers[q0]=1&answers[q1]=2" и т.д.

По крайней мере, он работал на сервере synatra, поэтому он также должен работать на сервере rails.

  • 0
    Это сделал это! Спасибо.

Ещё вопросы

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