Как исправить тайм-аут шлюза 504 при подключении к google calendar api
Я создал проект, который получает события за один месяц из всех календарей в моем списке календарей. Для этого я следовал документации google calendar api Quickstart.
Это функция, которая подключается к google api.
def connect_google_api():
creds = None
if os.path.exists('token.json'):
creds = Credentials.from_authorized_user_file('token.json')
if not creds or not creds.valid:
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)
with open('token.json','w') as token:
token.write(creds.to_json())
service = build('calendar','v3',credentials=creds)
Я разместил сайт на хостинге с помощью Apache, и все страницы работают, кроме google calendar. Я сначала подумал, что может быть какая-то проблема при чтении credentials.json, поэтому я использовал это, чтобы выяснить
data = None
with open('credentials.json') as f:
data = json.load(f)
qw = data
Вебсайт все еще находится в режиме отладки, поэтому я допустил некоторую ошибку при проверке локальной переменной и обнаружил, что переменные data
и qw
содержат credentails.json.
Я думаю, что проблема возникает из-за двух следующих строк
flow = InstalledAppFlow.from_client_secrets_file('credentials.json',SCOPES)
creds = flow.run_local_server(port=0)
Я открыл файл credentails.json и обнаружил следующее redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]
Я изменил http://localhost
на http://test.example.com/
.
Я не знаю, что поставить на место http://localhost
.
Я создал идентификаторы клиентов OAuth 2.0 в консоли google и выбрал Application Type
в качестве Desktop App
.
Я хочу выяснить, какие изменения необходимо внести в этот код, чтобы он начал работать на сервере. На localhost все работает нормально. Пожалуйста, помогите.