airflow.providers.google.suite.hooks.calendar

此模組包含一個 Google 日曆 API hook。

GoogleCalendarHook

透過 Google Cloud 連線與 Google 日曆互動。

模組內容

class airflow.providers.google.suite.hooks.calendar.GoogleCalendarHook(api_version, gcp_conn_id='google_cloud_default', impersonation_chain=None)[source]

基類: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

透過 Google Cloud 連線與 Google 日曆互動。

Google 日曆 API 參考: https://developers.google.com/calendar/api/v3/reference

引數:
  • gcp_conn_id (str) – 用來獲取連線資訊的連線 ID。

  • api_version (str) – API 版本。例如 v3

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可選的服務賬號,用於使用短期憑據進行模擬,或用於獲取列表中最後一個賬號(將在請求中模擬)的 access_token 所需的鏈式賬號列表。如果設定為字串,該賬號必須授予發起賬號 Service Account Token Creator IAM 角色。如果設定為序列,列表中的身份必須授予緊接前一個身份 Service Account Token Creator IAM 角色,其中列表中的第一個賬號將此角色授予發起賬號。

api_version[source]
get_conn()[source]

獲取 Google 日曆連線。

返回:

Google 日曆服務物件。

返回型別:

Any

get_events(calendar_id='primary', i_cal_uid=None, max_attendees=None, max_results=None, order_by=None, private_extended_property=None, q=None, shared_extended_property=None, show_deleted=False, show_hidden_invitation=False, single_events=False, sync_token=None, time_max=None, time_min=None, time_zone=None, updated_min=None)[source]

從單個 calendar_id 中獲取 Google 日曆事件。

https://developers.google.com/calendar/api/v3/reference/events/list

引數:
  • calendar_id (str) – 要互動的 Google 日曆 ID

  • i_cal_uid (str | None) – 可選。指定響應中 iCalendar 格式的事件 ID。

  • max_attendees (int | None) – 可選。如果參會人數量超過指定值,則僅返回參與者本人。

  • max_results (int | None) – 可選。一個結果頁面上返回的最大事件數。可透過響應中非空的 nextPageToken 欄位檢測不完整的頁面。預設值為 250 個事件。頁面大小永遠不能大於 2500 個事件

  • order_by (str | None) – 可選。可接受的值為 "startTime" 或 “updated”

  • private_extended_property (str | None) – 可選。以 propertyName=value 格式指定的擴充套件屬性約束。僅匹配私有屬性。此引數可以重複多次,以返回匹配所有給定約束的事件。

  • q (str | None) – 可選。自由文字搜尋。

  • shared_extended_property (str | None) – 可選。以 propertyName=value 格式指定的擴充套件屬性約束。僅匹配共享屬性。此引數可以重複多次,以返回匹配所有給定約束的事件。

  • show_deleted (bool | None) – 可選。預設為 False

  • show_hidden_invitation (bool | None) – 可選。預設為 False

  • single_events (bool | None) – 可選。預設為 False

  • sync_token (str | None) – 可選。從返回的 nextSyncToken 欄位中獲得的令牌

  • time_max (datetime.datetime | None) – 可選。過濾事件開始時間的上限(不含)。預設為不進行過濾

  • time_min (datetime.datetime | None) – 可選。過濾事件結束時間的下限(不含)。預設為不進行過濾

  • time_zone (str | None) – 可選。響應中使用的時區。預設為日曆的時區。

  • updated_min (datetime.datetime | None) – 可選。事件上次修改時間的下限

create_event(event, calendar_id='primary', conference_data_version=0, max_attendees=None, send_notifications=False, send_updates='false', supports_attachments=False)[source]

在指定的日曆上建立事件。

https://developers.google.com/calendar/api/v3/reference/events/insert.

引數:
  • calendar_id (str) – 要互動的 Google 日曆 ID

  • conference_data_version (int | None) – 可選。API 客戶端支援的會議資料版本號。

  • max_attendees (int | None) – 可選。如果參會人數量超過指定值,則僅返回參與者本人。

  • send_notifications (bool | None) – 可選。預設為 False

  • send_updates (str | None) – 可選。預設為 “false”。可接受的值為 “all”、“none”、"externalOnly" https://developers.google.com/calendar/api/v3/reference/events#resource

此條目是否有幫助?