Ошибка getChannelBySid клиента Twilio JS - Запрещено
Я использую JS-клиент Twilio. Клиенту требуется токен доступа, который я создаю с помощью следующего кода и отправляю во внешний интерфейс.
def generate_chat_token(self, identity, service_sid):
"""
Generate a jwt chat token.
"""
# Get a token.
token = AccessToken(self.account_sid, self.api_key, self.api_secret, identity=identity)
# Add a chat grant to the token.
grant = ChatGrant(service_sid=service_sid)
token.add_grant(grant)
return token.to_jwt()
Затем я могу инициализировать клиента во внешнем интерфейсе с помощью:
let client = await Twilio.Chat.Client.create(token);
Это работает нормально, однако, когда я пытаюсь получить канал по SID:
let channel = await client.getChannelBySid('CHXXXX');
Я получил:
twilio-chat.min.js:171 Uncaught (in promise) Error: Forbidden
at t (twilio-chat.min.js:171)
at t (twilio-chat.min.js:171)
at new t (twilio-chat.min.js:171)
at e.<anonymous> (twilio-chat.min.js:171)
at k (twilio-chat.min.js:171)
at Generator._invoke (twilio-chat.min.js:171)
at Generator.e.<computed> [as next] (twilio-chat.min.js:171)
at n (twilio-chat.min.js:127)
at twilio-chat.min.js:127
Чтобы проверить это, я также создал отдельное тестовое приложение Ktor и создал токен с помощью Java SDK. Это сработало нормально - никаких ошибок при получении канала. Вот почему я подтвердил, что инициализация клиента с поддельным токеном не удалась, поэтому я уверен, что ошибка не связана с недопустимым токеном. SID, который я использую, чтобы попытаться получить канал, - это SID, возвращаемый из следующего:
def get_conversations(self):
"""
Get Twilio conversations.
"""
return self.client.conversations.conversations.list()
Опять же, это отлично работает в моем приложении Ktor, использующем Java SDK, поэтому я не уверен, чем здесь отличается реализация Python.
Я не уверен, как отладить это дальше - как я могу получить определенный канал от клиента без этой ошибки?