#python-3.x #google-calendar-api #gnome-terminal
#python-3.x #google-calendar-api #gnome-терминал
Вопрос:
Я хотел бы знать, как подавить вывод Google flow, чтобы сделать мой вывод более чистым.
Вот Quickstart.py код:
creds =None
if os.path.exists('token.pickle'):
first_time_login = False
with open('token.pickle', 'rb') as token:
creds = pickle.load(token)
# If there are no (valid) credentials available, let the user log in.
if not creds or not creds.valid:
first_time_login = True
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request())
else:
flow = InstalledAppFlow.from_client_secrets_file(
'credentials.json', SCOPES)
creds = flow.run_local_server(port=0)
# Save the credentials for the next run
with open('token.pickle', 'wb') as token:
pickle.dump(creds, token)
# Building the resource Calendar
service = build('calendar', 'v3', credentials=creds)
Когда вы запускаете этот код, вы получаете следующий вывод на терминале:
Пожалуйста, посетите этот URL-адрес, чтобы авторизовать это приложение: https://accounts.google.com/o/oauth2/auth?response_type=codeamp;client_id=504506216880-4sanqellgo5ovampvrngut6q4e4pr09a.apps.googleusercontent.comamp;redirect_uri=http://localhost:46171/amp;scope=https://www.googleapis.com/auth/calendaramp;state=J7Id4IqIKyER5hykiGhfRcL9HZVejsamp;access_type=offline
Я хочу, чтобы при запуске приведенного выше кода вообще не было вывода.
Пожалуйста, получите quickstart.py в Google calender API или перейдите по этой ссылке, если это поможет:
Комментарии:
1. Я рекомендую вам ознакомиться с руководствами по API Google, если вы их еще не проходили.
2. что вы подразумеваете под подавлением вывода Google flow?
3. Да, я имею в виду вывод потока Google
4. Вам удалось это сделать? Есть ли какие-либо обновления на нем?
5. Я пытался использовать: import sys import io #Вы подавляете здесь: suppress_text = io.StringIO() sys.stdout = suppress_text
Ответ №1:
Это невозможно сделать, поскольку поток авторизации в быстром запуске предназначен для приложения командной строки, как указано в примечаниях к быстрому запуску:
Поток авторизации в этом примере предназначен для приложения командной строки. Для получения информации о том, как выполнить авторизацию в веб-приложении, см. раздел Использование OAuth 2.0 для приложений веб-сервера.
Комментарии:
1. Лучшее решение для этого — отключить вывод для этого конкретного раздела кода, тогда он просто запустится для проверки учетной записи Google OAuth 2.0 в вашем браузере без распечатки accounts.google.com/o/oauth2 /…