Мой веб-сервис с 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. Я подозреваю, что у меня могут быть неправильные настройки для этого. Я нашел информацию для использования ключей учетной записи службы (я не использую ее сейчас). Но я не нашел хорошего руководства по настройке для этого.

Как его настроить и вставить в код для авторизации (я не понял, как в коде используется ключ службы доступа?)? Что может быть не так?

0 ответов

Другие вопросы по тегам