跟踪哪些 Twilio 用户拨打了哪些电话
Tracking Which Twilio Users Make Which Calls
问题:我无法确定我的 Rails 应用程序的哪些用户正在使用 Twilio 进行哪些浏览器到浏览器调用。
我可以使用 Twilio 进行浏览器到浏览器的调用,并且可以像这样在调用 table 中存储 @call 对象:
def start_conference
@call = Call.create_from_twilio_params(params)
@call.user_id = current_user.id #current_user doesn't work in this Twilio request even when the user is signed into the Rails app
@call.save
end
以下是 Twilo 应用程序 returns 在处理用户呼叫时在日志中的参数:
TwilioController#start_conference 作为 HTML
参数:{"AccountSid"=>"AC123", "ApplicationSid"=>"AP234", "Caller"=>"client:test", "CallStatus"=>"ringing", "Called"=>"", "To"=>"", "CallSid"=>"CAxyz", "From"=>"client:test" , "Direction"=>"inbound", "ApiVersion"=>"2010-04-01"}
是否可以添加我自己的参数,例如user_id?或者我可以通过其他方式将呼叫连接到用户?
据此 Whosebug question,似乎可以将参数附加到回调 URL,但是关于指定自定义回调的 Twilio 文档在哪里 URL?
谢谢!
这里是 Twilio 开发人员布道师。
在使用 Twilio Client 进行调用时,您确实可以传递更多参数。
当您调用 Twilio.Device.connect()
进行调用时,您可以传递一个带有参数的对象,该对象将 POST
ed 到您的控制器。例如:
// In your front end code
Twilio.Device.connect({ userId: '<%= current_user.id %>' });
然后,在您的控制器代码中,您将在 params
中收到 userId
,您可以像这样使用它:
def start_conference
user_id = params.delete('userId')
@call = Call.create_from_twilio_params(params)
@call.user_id = user_id
@call.save
end
如果有帮助请告诉我!
问题:我无法确定我的 Rails 应用程序的哪些用户正在使用 Twilio 进行哪些浏览器到浏览器调用。
我可以使用 Twilio 进行浏览器到浏览器的调用,并且可以像这样在调用 table 中存储 @call 对象:
def start_conference
@call = Call.create_from_twilio_params(params)
@call.user_id = current_user.id #current_user doesn't work in this Twilio request even when the user is signed into the Rails app
@call.save
end
以下是 Twilo 应用程序 returns 在处理用户呼叫时在日志中的参数: TwilioController#start_conference 作为 HTML 参数:{"AccountSid"=>"AC123", "ApplicationSid"=>"AP234", "Caller"=>"client:test", "CallStatus"=>"ringing", "Called"=>"", "To"=>"", "CallSid"=>"CAxyz", "From"=>"client:test" , "Direction"=>"inbound", "ApiVersion"=>"2010-04-01"}
是否可以添加我自己的参数,例如user_id?或者我可以通过其他方式将呼叫连接到用户?
据此 Whosebug question,似乎可以将参数附加到回调 URL,但是关于指定自定义回调的 Twilio 文档在哪里 URL?
谢谢!
这里是 Twilio 开发人员布道师。
在使用 Twilio Client 进行调用时,您确实可以传递更多参数。
当您调用 Twilio.Device.connect()
进行调用时,您可以传递一个带有参数的对象,该对象将 POST
ed 到您的控制器。例如:
// In your front end code
Twilio.Device.connect({ userId: '<%= current_user.id %>' });
然后,在您的控制器代码中,您将在 params
中收到 userId
,您可以像这样使用它:
def start_conference
user_id = params.delete('userId')
@call = Call.create_from_twilio_params(params)
@call.user_id = user_id
@call.save
end
如果有帮助请告诉我!