Вот код:
from typing import List
from google_auth_oauthlib.flow import InstalledAppFlow
PATH_FILE_SECRETS: str = secrets.json'
SCOPES: List[str] = ['https://www.googleapis.com/auth/gmail.readonly']
LOCAL_REDIRECT_SERVER_DOMAIN='thermotest.ddns.net'
LOCAL_REDIRECT_SERVER_PORT=80
flow: InstalledAppFlow = InstalledAppFlow.from_client_secrets_file(PATH_FILE_SECRETS, SCOPES)
credentials = flow.run_local_server(LOCAL_REDIRECT_SERVER_DOMAIN, LOCAL_REDIRECT_SERVER_PORT)
Я использую google-auth-oauthlib
версию 0.2.0
( последняя версия ).
И я зарегистрировал этот URL перенаправления:
http://thermotest.ddns.net:80
Проблема в том, что метод "run_local_server
" генерирует URL, который заканчивается косой чертой:
...&redirect_uri=http%3A%2F%2Fthermotest.ddns.net%3A80%2F...
Который после декодирования дает значение:
http://thermotest.ddns.net:80/
Таким образом, Google жалуется, что:
URI перенаправления в запросе http://thermotest.ddns.net:80/, не совпадает с авторизованным для клиента OAuth.
Это нормально, потому что "http://thermotest.ddns.net:80/
" не строго идентичен с "http://thermotest.ddns.net:80
".
Если я изменю URL, удалив последний «%2F
» (удаляю последний слеш), тогда все в порядке.
Мой вопрос: почему «run_local_server
» систематически добавляет косую черту в конец URL-адреса перенаправления? Могу ли я сказать метод не делать этого?