1
我正在創建一個webb應用程序,您可以點擊一個號碼並從瀏覽器撥號。JWT令牌使用Twilio JS客戶端API時出現問題
我正在使用Twilio JS Client API和Django後端生成能力令牌。我正在使用Python Helper Library。
似乎一切都儘快工作得很好,但因爲我想打個電話讓我的客戶端上的錯誤:
Uncaught Twilio.Exception: 31205: [object Object] twilio.min.js:45
WebSocket is already in CLOSING or CLOSED state.
錯誤31205是JWT令牌過期的錯誤這是奇怪的當我點擊撥號時,令牌最多有1分鐘的使用時間。
這是我在Django視圖的方法產生一個很好的能力令牌:
def dialer(req, phone_number):
capability = TwilioCapability(settings.TWILIO_ACCOUNT_SID,
settings.TWILIO_AUTH_TOKEN)
# allow outgoing voice
capability.allow_client_outgoing(settings.TWILIO_APP_SID)
profile = user_models.UserProfile.objects.get(user=req.user)
v = {'capability_token': capability.generate(expires=600),
'phone_number': phone_number, 'user': req.user,
'caller_id': profile.user_phone}
return shortcuts.render_to_response('dialer.html', v)
這是JavaScript在我dialer.html:
Twilio.Device.setup('{{capability_token}}');
Twilio.Device.ready(function(device) {
console.log('Device ready...');
});
Twilio.Device.connect({
CallerId:'{{caller_id}}',
PhoneNumber: '{{phone_number}}'
});
$('#hang-up').click(function() {
Twilio.Device.disconnectAll();
});
爲什麼我的任何想法得到這個錯誤? Twilio文檔說,capability_token的默認使用壽命爲一小時。
謝謝!
PS。我做了完全相同的應用程序,使用Node.js作爲後端,這很好:)
thansks檢索能力令牌是正確的,它可以幫助我,我向西我整天爲這個,最後你的建議是幫助下,我把我的日期和時間正確,它的工作:) –
很高興聽到! @chiragpatel – Ismailp