Twilio JS Client getChannelBySid Ошибка - запрещено - PullRequest
2 голосов
/ 24 февраля 2020

Я использую JS клиента Twilio . Клиенту требуется токен доступа , который я создаю со следующим кодом и pu sh для внешнего интерфейса.

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.

Я не уверен, как это отладить дальше - Как я могу получить указанный c канал от клиента без этой ошибки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...