現在,我正在製作一個Python程序,可以從我的Google帳戶中的所有日曆中提取事件;不過,我正在儘可能使該計劃儘可能商業化。就這點而言,爲我自己定製代碼非常簡單,當我知道附加到我的日曆上的所有美國假期活動都是全天活動時,我可以設置一個簡單的if語句來檢查它是否爲假日曆並指定事件請求本身如下:如何在Google日曆中返回所有事件而不知道它是定時還是全天事件
def get_main_events(pageToken=None):
events = gc_source.service.events().list(
calendarId=calendarId,
singleEvents=True,
maxResults=1000,
orderBy='startTime',
pageToken=pageToken,
).execute()
return events
因此,這適用於全天事件。之後,我會將結果追加到列表中,並對其進行過濾以僅獲取我想要的事件。現在正從我的主日曆事件是一個容易一點指定我想,因爲他們通常不是全天事件的事件,只是我的工作日程,所以我可以使用:
now = datetime.now()
now_plus_thirtydays = now + timedelta(days=30)
def get_main_events(pageToken=None):
events = gc_source.service.events().list(
calendarId=calendarId,
singleEvents=True,
maxResults=1000,
orderBy='startTime',
timeMin=now.strftime('%Y-%m-%dT%H:%M:%S-00:00'),
timeMax=now_plus_thirtydays.strftime('%Y-%m-%dT%H:%M:%S-00:00'),
pageToken=pageToken,
).execute()
return events
現在,我遇到了問題讓程序可用於商業用途以及我自己,以上只會從我的主日曆中返回非全日事件。我想知道是否有方法 - 如果是這樣 - 如何 - 運行get事件請求並返回所有結果,無論它們是整天還是隻是一個定時事件發生在天。此外,這一問題的部分原因是在我打印結果代碼的另一部分,我需要使用:
print event['start']['date']
爲全天事件,以及:
print event['start']['dateTime']
一個非全天的活動。
因此,由於'dateTime'不適用於全天事件,所以我想找出一種方法來設置它,以便我可以評估事件是否全天。即「如果所述事件是全天事件,則使用事件['start'] ['date'],否則使用事件['start'] ['dateTime']