将curl命令转换为httparty

时间:2016-10-20 14:50:57

标签: ruby-on-rails ruby

我想从Rails应用程序中使用一些API数据。一个卷曲的例子是curl --data 'api_key=your_api_key&api_secret=your_api_secret&host_id=your_user_host_id' https://api.zoom.us/v1/webinar/list我在终端进行了实验,我看到了预期的反应。我现在正在使用httparty尝试使用ruby脚本。我的问题是如何在端点之前处理'stuff'(api_key ... secret ... ect)?这些标题是吗?

关于curl --data只告诉我这是一个帖子请求,但我不确定这是如何转换为httparty。

这是第一次尝试:

require 'httparty'

api_key = 'myKey'
api_secret = 'secret'
host_id = 'host'
data_type = 'JSON'

response = HTTParty.post("api_key&api_secret&host_id&data_type https://api.zoom.us/v1/webinar/list/registration")

puts response.parsed_response

但是这给了我一个糟糕的URI响应。如果我只使用端点运行相同的脚本,我会从缩放中获得一个响应代码,说明需要API密钥和密钥。

2 个答案:

答案 0 :(得分:3)

关注this example我认为这应该有效:

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密钥或密码。 "}}

我认为这是朝着正确方向迈出的一步。

答案 1 :(得分:1)

这些参数不是标题。标头通常由-H标志去除。

试试这个:

$user = Auth::User();

if($user->store != null){
    //air
} else {
    store = null;
}

return response()->json(compact('token', 'user'));