Неверная ошибка JWT при отправке сообщений от Azure Bot пользователю SkypePython

Программы на Python
Ответить
Anonymous
 Неверная ошибка JWT при отправке сообщений от Azure Bot пользователю Skype

Сообщение Anonymous »

Я сталкиваюсь с ошибкой «Неверный JWT» при попытке отправить сообщение об отсутствии ответа от бота Azure пользователю Skype, несмотря на использование действительного токена. Вот разбивка моей настройки:
  • Я успешно сгенерировал токен доступа, используя учетные данные клиента OAuth для Microsoft Bot Framework.
    < li>Я успешно создал идентификатор беседы, но когда я пытаюсь отправить сообщение с использованием этого идентификатора, я получаю ошибку 401 с сообщением «Неверный JWT».
Вот соответствующая часть моего кода:

Код: Выделить всё

import requests
# Setup for token generation
service_url = "https://smba.trafficmanager.net/apis"
token_url = f'https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token'
token_headers = {'Content-Type': 'application/x-www-form-urlencoded'}

token_payload = {
'grant_type': 'client_credentials',
'client_id': app_id,
'client_secret': app_password,
'scope': 'https://api.botframework.com/.default'
}
Запрос токена

Код: Выделить всё

token_response = requests.post(token_url, headers=token_headers, data=token_payload)
token = token_response.json()['access_token']
Настройка для создания беседы

Код: Выделить всё

conversation_headers = {'Authorization': f'Bearer {token}', 'Content-Type': 'application/json'}
conversation_url = f"{service_url}/v3/conversations"
conversation_payload = {
"bot": {"id": f"28:{app_id}", "name": "botname"},
"isGroup": False,
"members": [{"id": skype_id, "name": "Milkiyas Gebru"}],
"topicName": "New Conversation"
}
conversation_response = requests.post(conversation_url, headers=conversation_headers, json=conversation_payload)
conversation_id = conversation_response.json()["id"]
Настройка отправки сообщения

Код: Выделить всё

message_url = f"{service_url}/v3/conversations/{conversation_id}/activities"
message_headers = {'Authorization': f'Bearer {token}', 'Content-Type': 'application/json'}
message_payload = {"type": "message", "text": "My bots reply"}
message_response = requests.post(message_url, headers=message_headers, json=message_payload)

print("Create Message Response: ",message_response.json(), message_response.status_code)
Ответ, который я получаю, указывает на ошибку авторизации:
Создать сообщение Ответ: {'error': {'code': 'AuthorizationError', 'message': 'Неверный JWT. '}} 401
Кто-нибудь сталкивался с этой проблемой раньше или кто-нибудь знает, что может привести к тому, что JWT будет считаться недействительным? Будем очень признательны за любые идеи и предложения!

Подробнее здесь: https://stackoverflow.com/questions/783 ... skype-user
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»