Does the twilio-ruby gem take parameters other tha

2019-08-04 18:32发布

Looking at https://github.com/twilio/twilio-ruby/blob/master/lib/twilio-ruby/rest/calls.rb, it appears that only 'from', 'to', and 'url' are used. How do I pass a value for 'IfMachine'? For example, the following doesn't seem to work.

# set ACCOUNT_SID and AUTH_TOKEN

twilioClient = Twilio::REST::Client.new(ACCOUNT_SID, AUTH_TOKEN)
twilioAccount = twilioClient.account
twilioAccount.calls.create({
    :from => 'from_number',
    :to => 'to_number',
    :url => '/url',
    'IfMachine' => 'Hangup'
})

# IfMachine parameter is not passed in the above request

标签: ruby rest twilio
2条回答
叛逆
2楼-- · 2019-08-04 19:07

I believe if you set it as a symbol instead it should work:

# set ACCOUNT_SID and AUTH_TOKEN

twilioClient = Twilio::REST::Client.new(ACCOUNT_SID, AUTH_TOKEN)
twilioAccount = twilioClient.account
twilioAccount.calls.create({
    :from => 'from_number,
    :to => 'to_number',
    :url => '/url',
    :if_machine => 'Hangup'
})
查看更多
乱世女痞
3楼-- · 2019-08-04 19:08

Setting 'IfMachine' => 'hangup' works for me. I think the Twilio API is case-sensitive with respect to parameter values. So 'hangup' would work but 'Hangup' probably won't.

Here's my twilio-ruby session showing that the parameters are passed correctly:

irb(main):002:0> c.account.calls.create :from => '2158377932', :to => '4159334335', :url => 'http://demo.twilio.com/welcome/voice', 'IfMachine' => 'continue'
warning: peer certificate won't be verified in this SSL session
=> <Twilio::REST::Call @uri=/2010-04-01/Accounts/AC8faaf6f7efb9dfd60bc0ff3aa7fa00be/Calls/CA0165c3b35c934ed5a2b7a87f343544ff>
irb(main):003:0> c.last_request
=> #<Net::HTTP::Post POST>
irb(main):004:0> req = c.last_request
=> #<Net::HTTP::Post POST>
irb(main):005:0> req.body
=> "IfMachine=continue&To=4159334335&Url=http%3a%2f%2fdemo.twilio.com%2fwelcome%2fvoice&From=2158377932"
查看更多
登录 后发表回答