Мой веб-сервис с oauth2client не работает на удаленном сервере,
Приложение django работает на локальном сервере, но не работает на удаленном. Сервер не имеет графического интерфейса и не предоставляет пользователю ссылку на авторизацию. Сервер выводит ссылку на консоль.
from __future__ import print_function
from apiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools
import datetime
import os
import json
SCOPES = 'https://www.googleapis.com/auth/calendar'
from .models import Aim
try:
import argparse
flags = tools.argparser.parse_args([])
except ImportError:
flags = None
def calendar_authorization(username):
store = open('app/static/secret_data/' + username +'.json', 'w')
store.close()
store = file.Storage('app/static/secret_data/' + username +'.json')
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('app/client_secret.json', SCOPES)
flags.noauth_local_webserver = True
print("________flow_______")
print(flow.__dict__)
creds = tools.run_flow(flow, store, flags)
print("________creds_______")
print(creds.__dict__)
В локальной версии я использую client_secret.json, полученный из идентификаторов клиентов OAuth 2.0. Я подозреваю, что у меня могут быть неправильные настройки для этого. Я нашел информацию для использования ключей учетной записи службы (я не использую ее сейчас). Но я не нашел хорошего руководства по настройке для этого.
Как его настроить и вставить в код для авторизации (я не понял, как в коде используется ключ службы доступа?)? Что может быть не так?