Большой поклонник использования twilio-rb над twilio-ruby, но я застрял, пытаясь предоставить дружественное имя суб-счета Twilio, чтобы запросить account_sid.Не удается найти субсчет Twilio с twilio-rb
app.rb
Twilio::Config.setup \
:account_sid => '[MAIN ACCOUNT_SID]',
:auth_token => '[AUTH_TOKEN]'
subaccount.rb
post '/subaccount/create' do
Twilio::Account.create :friendly_name => params[:friendly_name]
account = Twilio::Account.find :friendly_name => params[:friendly_name]
@subaccount = Subaccount.new
@subaccount.friendly_name = params[:friendly_name]
@subaccount.account_sid = account.sid
if @subaccount.save
redirect '/subaccount/create'
else
erb 'There has been an error saving.'
end
end
Это создает субсчет в Twilio просто отлично, это, однако, не найти субсчет с friendly_name.
Когда я нарушу это дальше вниз, у меня есть субсчет под названием «привет», и я хочу, чтобы SID для него:
account = Twilio::Account.find :friendly_name => "hello"
puts account.sid
Это то, что возвращается в терминал
Called from: /Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0.beta/lib/rack/builder.rb:86:in `new'.
URI::InvalidURIError - bad URI(is not URI?): /Accounts/{:friendly_name=>"hello"}.json:
/Users/chadsakonchick/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/common.rb:176:in `split'
/Users/chadsakonchick/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/common.rb:211:in `parse'
/Users/chadsakonchick/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/uri/common.rb:747:in `parse'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/httparty-0.10.2/lib/httparty/request.rb:44:in `path='
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/httparty-0.10.2/lib/httparty/request.rb:33:in `initialize'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/httparty-0.10.2/lib/httparty.rb:456:in `new'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/httparty-0.10.2/lib/httparty.rb:456:in `perform_request'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/httparty-0.10.2/lib/httparty.rb:398:in `get'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/twilio-rb-2.3.0/lib/twilio/resource.rb:116:in `block (2 levels) in singleton class'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/twilio-rb-2.3.0/lib/twilio/finder.rb:9:in `find'
/Users/chadsakonchick/Projects/cloud-phone/lib/subaccounts.rb:27:in `block in <top (required)>'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `block in compile!'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `[]'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `block (3 levels) in route!'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:985:in `route_eval'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:966:in `block (2 levels) in route!'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1006:in `block in process_route'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in `catch'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in `process_route'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:964:in `block in route!'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in `each'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:963:in `route!'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1076:in `block in dispatch!'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1073:in `dispatch!'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in `block in call!'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in `call!'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:886:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0.beta/lib/rack/session/abstract/id.rb:225:in `context'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0.beta/lib/rack/session/abstract/id.rb:220:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0.beta/lib/rack/logger.rb:15:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0.beta/lib/rack/commonlogger.rb:33:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:217:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:210:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0.beta/lib/rack/head.rb:13:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0.beta/lib/rack/methodoverride.rb:22:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/show_exceptions.rb:21:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:180:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:2014:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `block in call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1788:in `synchronize'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0.beta/lib/rack/handler/webrick.rb:89:in `service'
/Users/chadsakonchick/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
/Users/chadsakonchick/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
/Users/chadsakonchick/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'
[2014-11-07 18:22:32] ERROR NoMethodError: undefined method `join' for #<String:0x007fc7548fa570>
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/show_exceptions.rb:37:in `rescue in call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/show_exceptions.rb:21:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:180:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:2014:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `block in call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1788:in `synchronize'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `call'
/Users/chadsakonchick/.rvm/gems/ruby-2.1.2/gems/rack-1.6.0.beta/lib/rack/handler/webrick.rb:89:in `service'
/Users/chadsakonchick/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
/Users/chadsakonchick/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
/Users/chadsakonchick/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'
localhost - - [07/Nov/2014:18:22:32 CST] "GET /subaccount/twilio-rb/hello HTTP/1.1" 500 340
Это любое использование? : http://stackoverflow.com/questions/15700784/how-to-fix-bad-uri-is-not-uri –
@MickStevens К сожалению, я так не думаю. Форматирование происходит именно так, как указано здесь: https://github.com/stevegraham/twilio-rb - когда я вынимаю: friendly_name => params [: friendly_name] и заменяю его идентификатором Account_SID, чтобы отобразить дружественное имя , Отлично работает. Это только тогда, когда я пытаюсь дать ему параметр friendly_name, который он отказывается сотрудничать с - URI :: InvalidURIError - плохой URI (не URI?): /Accounts/{:friendly_name=>"hello"}.json: – csakon