我正在尝试使用python语言集成Google日历。这段代码在我开发时想要的本地环境中效果很好。但是,当我将这段代码放在服务器端时,它不会像本地代码那样运行。
代码
from __future__ import print_function
from apiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools
import datetime
import os
def googleSyc():
SCOPES = 'https://www.googleapis.com/auth/calendar'
store = file.Storage('storage.json')
creds = store.get()
path = os.path.dirname(os.path.realpath(__file__))
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets(path+'/storage3.json', SCOPES)
creds = tools.run_flow(flow, store)
GCAL = discovery.build('calendar', 'v3', http=creds.authorize(Http()))
start_date = datetime.datetime(
2019,2, 6, 00, 00, 00, 0).isoformat() + 'Z'
end_date = datetime.datetime(2019,2, 6, 23, 59, 59, 0).isoformat() + 'Z'
输出:提示用户允许访问我的 localhost :
但是,当我在服务器上部署此代码时,它什么也不做,甚至都没有在浏览器中显示“选择帐户”之类的屏幕。 任何想法?我仍在尝试,但没有成功。
更新
我尝试了很多方法,但是在服务器上什么也没有发生。我也用这个:
OAuth2WebServerFlow(client_id='your_client_id', client_secret='your_client_secret', scope='googleapis.com/auth/calendar', redirect_uri='example.com/auth_return')
我的目标是,当我的代码在服务器上运行时,应该以与本地相同的方式打开。但是我仍然不明白为什么我会出错。