【发布时间】:2019-02-01 07:03:15
【问题描述】:
功能令牌设置为在 60 秒后过期,因此当它过期时,我正在尝试重新设置设备
twilioDevice = new Twilio.Device();
// I also need incoming calls too, so client has to be refreshed every 60 sec
this.twilioDevice.on('error', error => {
if (error.code === 31205) {
this.initilizeTwilio();
} else {
this.toastr.warning(error.code + '' + error.message);
}
});
initilizeTwilio() {
this.twilioService.getCapability(60).subscribe(data => {
if (this.twilioDevice.isInitialized) {
this.twilioDevice.setup(data.capabilitytoken);
} else {
this.twilioDevice.setup(data.capabilitytoken, {debug: true});
}
}
第一次设置工作正常,当令牌过期时.setup()被调用,还有其他需要调用的方法吗?我在这里做错了什么?
【问题讨论】:
-
在图像中的时间戳中,您第一次创建设备并进行设置,然后在 60 秒后(如预期)和 62 秒后出现错误。您是否正在缓存并返回相同的过期令牌?另外,您使用的是能力令牌还是访问令牌?我建议使用访问令牌,因为功能令牌现在已弃用。
-
知道了,
cache是问题所在 -
@philnash Capability docs 没有声明它已被弃用,但提到了here
-
@philnash 您能否提供一个功能令牌将被完全弃用的估计日期?
-
documentation for Twilio Client lists the capability token as deprecated 虽然没有估计何时将其删除。我仍然建议升级到访问令牌,这样您将来就不会遇到问题。如果您使用的是 Twilio 帮助程序库,那么它应该是一个相当简单的更改。