客户端应用程序知道Twilio Capability Token何时到期有什么好方法?
就我而言,客户端应用程序是在Web浏览器中运行的Javascript应用程序。
我问的原因是因为我想确保客户端应用程序(在Web浏览器中运行)始终准备好接收针对它的传入呼叫。在我看来,如果客户端应用程序正在使用的Capability Token已经过期,那么在不知情的情况下调用该应用程序可能会失败。
到目前为止,我能想到的最佳解决方案是客户端应用程序跟踪Capability Token的到期时间,并在服务器到期前不久自动查询服务器。 (使用Javascript' s setTimeout()
?
更理想的情况是,如果Javascript库中的Twilio.Device
有一个可以在令牌即将到期时设置的回调。这样客户端可以监听,那时可以请求新的令牌。
另一种解决方案可能是服务器能够延长客户端的能力令牌的到期时间,如果它知道已经进入该客户端的呼叫。然而,这是Twilio可能提供或不提供的功能。
处理此问题的好方法是什么?
答案 0 :(得分:3)
您使用setTimeout()提到的技术是一种完全有效的方法来管理它。由于您的应用程序设置了到期时间,您可以设置一个与请求新令牌相符的未来函数调用。
或者,如果您更喜欢回调,则可以实现Twilio.Device的offline handler。当令牌过期或Internet连接断开时调用此方法。无论哪种方式,您都需要一个新令牌来重新建立离线客户端与Twilio的连接。
您可以在documentation或Skills Training中详细了解Twilio.Device回调。
答案 1 :(得分:1)
对于遇到此问题的新用户,当令牌过期时,系统会使用错误代码31205调用Twilio.Device.error
。