Код: Выделить всё
requests.post(url, data=json.dumps(d))
requests.post(url, json=d)
- url: {{base_url}}/ токен
- параметры
grant_type={{пароль} - username={{username }}
- password={{password}}
- scope={"account":"{{account}}", "tenant": "{{tenant}}"
Я начал с этого, с переменных загружен из файла .env:
Код: Выделить всё
resp = requests.post(f'{base_url}/token',
json={'grant_type': 'password', 'username': uname, 'password': pwd,
'scope': {'account': account, 'tenant': tenant}})
resp.text
# '{"error":"unsupported_grant_type"}'
Код: Выделить всё
resp = requests.post(f'{base_url}/token',
data={'grant_type': 'password', 'username': uname, 'password': pwd,
'scope': {'account': account, 'tenant': tenant}})
resp.text
# '{"error":"invalid_grant","error_description":"{\\"ErrorMessage\\":\\"Error trying to Login - User [username] Account [] Unexpected character encountered while parsing value: a.
Код: Выделить всё
resp = requests.post(f'{base_url}/token',
data={'grant_type': 'password', 'username': uname, 'password': pwd,
'scope': json.dumps({'account': account, 'tenant': tenant})})
[*]является ли этот нюанс «реальным» по сравнению с простым чтением связанных вопросов? А именно, казалось, что один из них или использует data=json.dumps(d) или json=d, но я не нашел ответа, смешивающего их (и обертывающего все данные arg в json.dumps() ломают мою рабочую окончательную версию)
[*]как относительный нуб в API/сетевых вещах, будет ли это заметно для меня из аргументов документации, перечисленных выше, или был метод проб и ошибок единственный способ обнаружить это?
[*]с учетом моего окончательного решения, существовал ли лучший/более правильный способ передачи этих параметров? >
Подробнее здесь: https://stackoverflow.com/questions/759 ... calls-data