Как исправить тайм-аут шлюза 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 все работает нормально. Пожалуйста, помогите.

Вернуться на верх