我想能够验证输入日期小时是否已经在谷歌日历中创建。
这是我得到的代码,但我现在被卡住了(谷歌快速入门教程)。这段代码给出了10个即将到来的事件。
但我希望能够输入一个日期,然后在添加之前验证事件是否已经存在。
from __future__ import print_function
import datetime
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
# If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/calendar']
def main():
"""Shows basic usage of the Google Calendar API.
Prints the start and name of the next 10 events on the user's calendar.
"""
creds = None
# The file token.pickle stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
if os.path.exists('token.pickle'):
with open('token.pickle', 'rb') as token:
creds = pickle.load(token)
# If there are no (valid) credentials available, let the user log in.
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)
# Save the credentials for the next run
with open('token.pickle', 'wb') as token:
pickle.dump(creds, token)
service = build('calendar', 'v3', credentials=creds)
# Call the Calendar API
now = datetime.datetime.utcnow().isoformat() + 'Z' # 'Z' indicates UTC time
print('Getting the upcoming 10 events')
events_result = service.events().list(calendarId='primary', timeMin=now,
maxResults=10, singleEvents=True,
orderBy='startTime').execute()
events = events_result.get('items', [])
if not events:
print('No upcoming events found.')
for event in events:
start = event['start'].get('dateTime', event['start'].get('date'))
print(start, event['summary'], event['location'])
if __name__ == '__main__':
main()
编辑:
我尝试了这个代码,但是我得到了一个错误。
events_result = service.events().list(calendarId='primary', timeMin="2020-04-22T10:00:00-00:00",
timeMax="2020-04-22T12:00:00-00:00",
singleEvents=True,
orderBy='startTime').execute()
events = events_result.get('items', [])
if not events:
print('Event does not exist yet.')
else:
for event in events:
start = event['start'].get('dateTime', event['start'].get('date'))
if start == "2020-04-22T11:00:00-00:00":
found = True
print('Event has been found.')
break
if found != True:
print('Event does not exist yet.')
获取时出错:
Traceback (most recent call last):
File "/Users/cn/PycharmProjects/Calendrier/venv/quickstart.py", line 61, in <module>
main()
File "/Users/cn/PycharmProjects/Calendrier/venv/quickstart.py", line 56, in main
if found != True:
UnboundLocalError: local variable 'found' referenced before assignment
说明:
timeMax
:要筛选的事件开始时间的上限(独占)。
timeMin
:要筛选的事件结束时间的下限(独占)。
event['start']进行验证。get('dateTime',event['start'])。get('date')
等于您要查找的
样本片段
events_result = service.events().list(calendarId='primary', timeMin=now,
timeMax="Specify if possible",
singleEvents=True,
orderBy='startTime').execute()
events = events_result.get('items', [])
if not events:
print('Event does not exist yet.')
else:
found = False
for event in events:
start = event['start'].get('dateTime', event['start'].get('date'))
if start == "SPECIFY HERE THE DATE YOU ARE LOOKING FOR":
found = True
print('Event has been found.')
break
if found != True:
print('Event does not exist yet.')
我有两张表,都有保存到列中的日期。我的当前日期以相同代码保存在Sheet1和Sheet2上: 我想让我的一个脚本比较从Sheet1到Sheet2的日期 在Sheet1上,我使用一个小脚本设置当前日期,然后使用拖动功能设置列中的上一个和下一个日期,格式与此处相同: 设置Sheet1上的日期后,我使用以下脚本比较Sheet1和Sheet2中的日期,此脚本还设置Sheet2的日期,因为当激活此脚本时,它
问题内容: 在我的应用程序中,我需要检查firebase上数据库的给定元素是否有一个具有给定名称的孩子。我希望可以通过以下方式来做到这一点: 我进行了搜索,但找不到任何有用的信息。 问题答案: 编辑2; 值得放在最上面:我认为值得一提的是,它实际上是在此快照中下载所有数据,只是为了检查是否存在任何数据。您在这里要小心。如果引用很大(例如, 实际上 是根引用,而不是特定的子项/属性),则您应该找到可
如果文档ID不存在,我想将数据添加到firestore数据库中。到目前为止,我一直在尝试: 目标是检查数据库中的所有文档ID,并查看与“varuId”变量的任何匹配。如果匹配,则不会创建文档。如果不匹配,它应该创建一个新文档
我是Google日历API和PHP的新手,我似乎不知道如何实现我想做的事情。基本上,我想从calendarID为的google日历中检索事件webapps098@gmail.com.我当前的代码是这样的 我收到错误: 异常Google_ServiceException消息错误调用GEThttps://www.googleapis.com/calendar/v3/calendars/webapps0
我想知道如何使用新的Google Drive Android API检查Google Drive中是否存在文件夹 我试过下面的操作,以为如果找不到文件夹,它要么崩溃,要么返回null,但它没有这样做(只要它是有效的DriveId,即使文件夹已被删除)。 如果我尝试创建一个文件,我从上面的代码得到的文件夹,它也不会崩溃?显然,我很难理解这个新的API是如何协同工作的,特别是在非常有限的教程和问题的情
问题内容: 检查google-app-engine数据存储区中是否存在实体的最佳/最快方法是什么?现在,我正在尝试通过键获取实体,并检查get()是否返回错误。 我不知道在数据存储区上获取实体的过程。有没有更快速的方法来仅执行此检查? 问题答案: 已不推荐使用App Engine GCS客户端。 您是否考虑过使用查询?猜测并检查不是一种可伸缩的方法来找出数据存储中是否存在实体。可以创建查询以从数据