Попытка получить токен доступа для Onenote в Python 3.7 - PullRequest
0 голосов
/ 04 января 2019

Здравствуйте, я пытаюсь получить токен доступа из потока кода, как описано здесь:

Проверка подлинности и разрешения OneNote

Я уже получил код с первого шага

https://your-redirect-uri?code=M57010781-9e8c-e31e-ca0d-46bc104236c4

Затем я попытался получить токен доступа с этим кодом:

payload2 = {'grant_type' : 'authorization_code',
               'client_id': 'xxx-xxxx-xxxx-xxx-xxxx',
                'client_secret' : 'secret',
                'code' : 'M57010781-9e8c-e31e-ca0d-46bc104236c4',
               'redirect_uri' : 'https://login.live.com/oauth20_desktop.srf',}

        b_url = 'https://login.live.com/oauth20_token.srf?'
    new_tok_req = urlencode(payload2)
    new_url = b_url+new_tok_req

Значение в "new_url" теперь

https://login.live.com/oauth20_token.srf?grant_type=authorization_code&client_id=xxxxxxxxxx&client_secret=secret&code=M57010781-9e8c-e31e-ca0d-46bc104236c4&redirect_uri=https%253A%2F%2Flogin.live.com%2Foauth20_desktop.srf

Затем я отправил сообщение следующим способом:

 r2 = requests.post(new_url)

Это вызывает следующую ошибку с сервера:

b '{"error": "invalid_request", "error_description": "Предоставленный запрос должен иметь тип содержимого \' application / x-www-form-urlencoded \ '."}'

Я не могу найти проблему. Для меня URL в new_url выглядит хорошо отформатированным. Пожалуйста, помогите мне. Заранее спасибо.

...