«InstalledAppFlow.run_local_server ()» систематически добавляет косую черту в конец URL-адреса перенаправления - PullRequest
0 голосов
/ 13 марта 2019

Вот код:

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-адреса перенаправления? Могу ли я сказать метод не делать этого?

...