Неожиданный аргумент ключевого слова incoming allow при попытке создать Twilio Audio ChatRoom
Следуя этому руководству, вы сможете построить приложение для аудиочата с использованием Django, React и Twilio Programmable Voice.
Когда я выполняю GET запрос с помощью fetch для создания чата, я получаю ошибку:
Response {type: 'cors', url: 'http://127.0.0.1:8000/voice_chat/token/Emmanuel', redirected: false, status: 500, ok: false, …}
и на моем сервере:
TypeError: __init__() got an unexpected keyword argument 'incoming_allow'
Это функция fetch в моем фронтенде:
const handleSubmit = e => {
e.preventDefault();
const nickname = state.nickname;
setupTwilio(nickname);
history.push('/rooms');
}
const setupTwilio = (nickname) => {
console.log('inside setupTwilio function', nickname)
fetch(`http://127.0.0.1:8000/voice_chat/token/${nickname}`)
.then(response => {
console.log('resp', response)
})
конечная точка API, с которой я взаимодействую:
path('voice_chat/', include('voice_chat.urls'))
urls.py содержит voice_chat.urls:
urlpatterns = [
path("rooms", RoomView.as_view(), name="room_list"),
path("token/<username>", TokenView.as_view(), name="rooms"),
]
Вот мой TokenView:
class TokenView(View):
def get(self, request, username, *args, **kwargs):
voice_grant = grants.VoiceGrant(
outgoing_application_sid=settings.TWIML_APPLICATION_SID,
incoming_allow=True,
)
access_token = AccessToken(
settings.TWILIO_ACCOUNT_SID,
settings.TWILIO_API_KEY,
settings.TWILIO_API_SECRET,
identity=username
)
access_token.add_grant(voice_grant)
jwt_token = access_token.to_jwt()
return JsonResponse({"token": jwt_token.decode("utf-8")})