#ruby-on-rails #ruby
#ruby-on-rails #ruby
Вопрос:
Я хочу использовать некоторые данные API из приложения Rails. Примером curl является curl --data 'api_key=your_api_keyamp;api_secret=your_api_secretamp;host_id=your_user_host_id' https://api.zoom.us/v1/webinar/list
я экспериментировал с этим в терминале, и я вижу ожидаемые ответы. Сейчас я экспериментирую с ruby-скриптом, использующим httparty. Мой вопрос в том, как я должен обрабатывать ‘материал’ перед конечной точкой (api_key … secret … ect)? Это заголовки?
Что касается curl —data, то мне только говорят, что это post-запрос, но я не уверен, как это переводится в httparty.
Вот первая попытка:
require 'httparty'
api_key = 'myKey'
api_secret = 'secret'
host_id = 'host'
data_type = 'JSON'
response = HTTParty.post("api_keyamp;api_secretamp;host_idamp;data_type https://api.zoom.us/v1/webinar/list/registration")
puts response.parsed_response
Но это дает мне неверный ответ URI. Если я запускаю этот же скрипт только с конечной точкой, я получаю ответный код от zoom, в котором говорится, что требуются ключ API и секрет.
Ответ №1:
Глядя на этот пример, я думаю, что это должно сработать:
require 'httparty'
api_key = 'myKey'
api_secret = 'secret'
host_id = 'host'
data_type = 'JSON'
options = {
body: {
api_key: api_key,
api_secret: api_secret,
host_id: host_id,
data_type: data_type
}
}
response = HTTParty.post("https://api.zoom.us/v1/webinar/list/registration", options)
puts response.parsed_response
Я получаю ответ:
{«ошибка»=>{«код»=>200, «сообщение» => «Недопустимый ключ api или секрет».}}
я думаю, это шаг в правильном направлении.
Ответ №2:
Нет, это не заголовки, это параметры. Заголовок обычно обозначается флагом -H.
Попробуйте это:
require 'httparty'
query_params = {api_key: 'myKey',
api_secret: 'secret',
host_id: 'host',
data_type: 'JSON'}
response = HTTParty.post("api_keyamp;api_secretamp;host_idamp;data_type https://api.zoom.us/v1/webinar/list/registration", :query => query_params)
puts response.parsed_response