Я пытаюсь написать запрос, используя Python Requests, который отправляет запрос в Docusign. Мне нужно использовать устаревший заголовок авторизации, но, к сожалению, большая часть документации для этого была удалена. Когда я отправляю запрос, я получаю сообщение об ошибке, как указано в заголовке.
Из исследований я обнаружил, что специальные символы в пароле могут вызывать эту проблему, поэтому я подтвердил, что в моем пароле нет специальных символов и что мой ключ API правильный. В настоящее время я отправляю заголовок в виде строкового словаря, как показано ниже. Я пробовал это несколькими другими способами, и это, кажется, самое близкое, но это все еще приводит к ошибке. Другие способы, которые я пробовал, включают в себя попытку записать заголовок в виде одной строки (не формируя сначала словарь), но, похоже, это не сработало лучше.
docusign_auth_string = {}
docusign_auth_string["Username"] = docusign_user
docusign_auth_string["Password"] = docusign_password
docusign_auth_string["IntegratorKey"] = docusign_key
docusign_auth_string = str(docusign_auth_string)
headers = {'X-DocuSign-Authentication': docusign_auth_string}
response = requests.post(docusign_url, headers=headers, data=body_data)
Приведенный выше код возвращает 401 с сообщением INVALID_TOKEN_FORMAT «Формат маркера безопасности не соответствует ожидаемой схеме». Заголовок, который я отправляю, выглядит следующим образом:
{'X-DocuSign-Authentication': "{'Имя пользователя': 'test@test.com', 'Пароль': 'xxxxxxxxxx', 'IntegratorKey': 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'}"} *}
Когда я отправляю запрос через Почтальон, он работает просто отлично. В Почтальоне я ввожу имя заголовка как X-Docusign-Authentication, а значение как: {"Имя пользователя": "{{ds_username}}", "Пароль": "{{ds_password}}", "IntegratorKey": "{ {ds_integrator_key}} "} (добавляются те же значения переменных, что и в коде Python).
Следовательно, это определенно связано с тем, как Requests отправляет заголовок.
Кто-нибудь знает, почему я могу получить вышеуказанную ошибку?