builders
feishu.calendar.builders
¶
calendar_time
¶
calendar_time(value: Any, *, timezone: str = DEFAULT_TIMEZONE) -> NestedDict
构造飞书日历时间对象。
支持传入已有映射、Unix 秒级时间戳、datetime.date、datetime.datetime、
ISO 日期字符串(YYYY-MM-DD),或 ISO/RFC3339 日期时间字符串。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
Any
|
待转换的时间取值,可为映射、 |
必需 |
|
str
|
用于解析无时区信息取值的时区,默认为 |
DEFAULT_TIMEZONE
|
返回:
| 类型 | 描述 |
|---|---|
NestedDict
|
飞书日历时间对象,纯日期取值含 |
引发:
| 类型 | 描述 |
|---|---|
ValueError
|
传入空字符串时抛出。 |
TypeError
|
传入不受支持的取值类型时抛出。 |
源代码位于: feishu/calendar/builders.py
calendar_event
¶
calendar_event(*, summary: str, start_time: Any, end_time: Any, timezone: str = DEFAULT_TIMEZONE, description: str | None = None, location: str | None = None, visibility: str | None = None, free_busy_status: str | None = 'busy', reminders: Sequence[Mapping[str, Any]] | None = None, vchat: Mapping[str, Any] | None = None) -> NestedDict
构造可传给 feishu.calendar.events.EventsNamespace.create 的飞书日历日程载荷。
start_time 与 end_time 会经 calendar_time 归一化。
仅当对应可选参数为真值时才并入载荷,未设置的项会被省略。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
日程标题。 |
必需 |
|
Any
|
日程开始时间,取值同 calendar_time。 |
必需 |
|
Any
|
日程结束时间,取值同 calendar_time。 |
必需 |
|
str
|
用于解析开始/结束时间的时区,默认为 |
DEFAULT_TIMEZONE
|
|
str | None
|
日程描述;为空时省略该字段。 |
None
|
|
str | None
|
日程地点名称,会包装为 |
None
|
|
str | None
|
日程可见性(如 |
None
|
|
str | None
|
日程忙闲状态,默认为 |
'busy'
|
|
Sequence[Mapping[str, Any]] | None
|
提醒项列表,每项会包装为 chanfig.NestedDict;为空时省略该字段。 |
None
|
|
Mapping[str, Any] | None
|
视频会议配置,会包装为 chanfig.NestedDict;为空时省略该字段。 |
None
|
返回:
| 类型 | 描述 |
|---|---|
NestedDict
|
日程载荷 chanfig.NestedDict,含 |
源代码位于: feishu/calendar/builders.py
calendar_attendees
¶
calendar_attendees(values: Sequence[Any] | None) -> list[NestedDict]
归一化日程参与人列表,供 feishu.calendar.attendees.AttendeesNamespace.add 使用。
当调用方未显式传入 type 时,会按字段推断参与人类型:含 room_id 为会议室资源,
含 chat_id 为群组,含 third_party_email 为外部邮箱,否则按用户处理。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
Sequence[Any] | None
|
参与人映射序列,每项常见键包括 |
必需 |
返回:
| 类型 | 描述 |
|---|---|
list[NestedDict]
|
归一化后的参与人 chanfig.NestedDict 列表,每项均带有推断或显式的 |
引发:
| 类型 | 描述 |
|---|---|
TypeError
|
列表中存在非映射类型的参与人取值时抛出。 |
源代码位于: feishu/calendar/builders.py
freebusy_body
¶
freebusy_body(*, time_min: Any, time_max: Any, user_id: str | None = None, room_id: str | None = None, timezone: str = DEFAULT_TIMEZONE) -> NestedDict
构造飞书忙闲查询请求体,供 feishu.calendar.freebusy.FreebusyNamespace.query 使用。
time_min 与 time_max 会经 rfc3339 转换为 RFC3339 字符串。
仅当对应可选参数为真值时才并入载荷;user_id 与 room_id 至少需提供其一。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
Any
|
查询区间的起始时间,取值同 rfc3339。 |
必需 |
|
Any
|
查询区间的结束时间,取值同 rfc3339。 |
必需 |
|
str | None
|
待查询忙闲的用户 ID;为空时省略该字段。 |
None
|
|
str | None
|
待查询忙闲的会议室 ID;为空时省略该字段。 |
None
|
|
str
|
用于解析无时区信息取值的时区,默认为 |
DEFAULT_TIMEZONE
|
返回:
| 类型 | 描述 |
|---|---|
NestedDict
|
忙闲查询请求体 chanfig.NestedDict,含 |
引发:
| 类型 | 描述 |
|---|---|
ValueError
|
|
源代码位于: feishu/calendar/builders.py
unix_seconds
¶
将常见时间取值转换为 Unix 秒级时间戳。
支持传入 datetime.datetime、datetime.date、int/float 时间戳、数字/日期/日期时间字符串,
或含 timestamp/date/date_time 键的映射。无时区信息的取值按 timezone 解释。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
Any
|
待转换的时间取值,可为 datetime.datetime、datetime.date、 |
必需 |
|
str
|
用于解析无时区信息取值的时区,默认为 |
DEFAULT_TIMEZONE
|
返回:
| 类型 | 描述 |
|---|---|
int
|
对应的 Unix 秒级时间戳。 |
引发:
| 类型 | 描述 |
|---|---|
ValueError
|
传入空字符串时抛出。 |
TypeError
|
传入不受支持的取值类型时抛出。 |
源代码位于: feishu/calendar/builders.py
rfc3339
¶
将常见时间取值转换为 RFC3339 日期时间字符串。
非纯数字、非纯日期的字符串按日期时间字符串解析;其余取值经 unix_seconds 转换为时间戳后再格式化。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
Any
|
待转换的时间取值,取值同 unix_seconds。 |
必需 |
|
str
|
用于解析无时区信息取值的时区,默认为 |
DEFAULT_TIMEZONE
|
返回:
| 类型 | 描述 |
|---|---|
str
|
RFC3339 日期时间字符串(含时区偏移),如 |
引发:
| 类型 | 描述 |
|---|---|
ValueError
|
传入空字符串时抛出(由 unix_seconds 传播)。 |
TypeError
|
传入不受支持的取值类型时抛出(由 unix_seconds 传播)。 |