references
feishu.drive.references
¶
DocumentReference
dataclass
¶
从文本、URL 或接口数据中提取出的飞书云文档引用。
doc_type 是飞书对象类型(如 docx、wiki、sheet)。调用方只有 token 时可以省略;
本模块会尽量根据常见文档 / 知识库 token 前缀推断类型。
源代码位于: feishu/drive/references.py
parse_document_reference
¶
parse_document_reference(text: str, *, default_doc_type: str | None = None) -> DocumentReference | None
从 URL 或裸 token 中提取飞书文档引用。
支持 /docx/{token}、/docs/{token}、/wiki/{token} 等常见文档 / 知识库 URL,
以及裸 doxcn...、doxc...、doccn...、wikcn... token。未发现引用时返回 None。
源代码位于: feishu/drive/references.py
document_reference_from_mapping
¶
document_reference_from_mapping(data: Mapping[str, Any], *, text: str = '', token_keys: Sequence[str] = ('document_token', 'document_id', 'doc_token', 'token'), url_keys: Sequence[str] = ('document_url', 'url'), default_doc_type: str | None = None, doc_type_key: str = 'doc_type') -> DocumentReference | None
从结构化字段中提取文档引用,失败时回退到自由文本解析。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
Mapping[str, Any]
|
含 token、URL 或类型字段的映射。 |
必需 |
|
str
|
结构化字段未命中时用于兜底解析的自由文本。 |
''
|
|
Sequence[str]
|
依次尝试读取文档 token 的字段名。 |
('document_token', 'document_id', 'doc_token', 'token')
|
|
Sequence[str]
|
依次尝试读取文档 URL 的字段名。 |
('document_url', 'url')
|
|
str | None
|
未能从 token / URL 推断时使用的默认文档类型。 |
None
|
|
str
|
从 |
'doc_type'
|
返回:
| 类型 | 描述 |
|---|---|
DocumentReference | None
|
解析出的 feishu.drive.references.DocumentReference,未命中时返回 |
源代码位于: feishu/drive/references.py
meeting_note_reference_from_mapping
¶
meeting_note_reference_from_mapping(data: Mapping[str, Any], *, text: str = '', default_doc_type: str = 'docx') -> DocumentReference | None
从结构化字段或文本中提取会议纪要文档引用。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
Mapping[str, Any]
|
含会议纪要 token、URL 或类型字段的映射。 |
必需 |
|
str
|
结构化字段未命中时用于兜底解析的自由文本。 |
''
|
|
str
|
未能从 token / URL 推断时使用的默认文档类型。 |
'docx'
|
返回:
| 类型 | 描述 |
|---|---|
DocumentReference | None
|
解析出的 feishu.drive.references.DocumentReference,未命中时返回 |
源代码位于: feishu/drive/references.py
meeting_note_reference_from_meeting
¶
meeting_note_reference_from_meeting(meeting: Mapping[str, Any], *, default_doc_type: str = 'docx') -> DocumentReference | None
从飞书会议对象中提取会议纪要文档引用。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
Mapping[str, Any]
|
飞书会议对象,含会议纪要 token、URL 或类型字段的映射。 |
必需 |
|
str
|
未能从 token / URL 推断时使用的默认文档类型。 |
'docx'
|
返回:
| 类型 | 描述 |
|---|---|
DocumentReference | None
|
解析出的 feishu.drive.references.DocumentReference,未命中时返回 |
源代码位于: feishu/drive/references.py
resolve_document_reference
async
¶
resolve_document_reference(client: Any, reference: DocumentReference) -> DocumentReference
将文档引用解析为底层对象 token 与类型。
知识库引用会通过 feishu.wiki.spaces.WikiNamespace.get_node 解析到实际对象;
非知识库引用会在可推断时补齐文档类型后原样返回。函数始终使用调用方传入的 client,
因此传入 client.as_user(user_access_token) 创建的用户态客户端时,会保留用户权限边界。
源代码位于: feishu/drive/references.py
raw_document_content
async
¶
raw_document_content(client: Any, reference: DocumentReference, *, lang: int | None = None) -> str
读取受支持飞书文档引用的纯文本内容。
当前支持解析后的 docx 文档,并通过 feishu.docx.documents.DocxNamespace.get_raw_content 读取。
函数会原样使用调用方传入的客户端;读取用户私有文档时应传入用户态客户端。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
Any
|
飞书客户端;读取用户私有文档时应传入用户态客户端(如 |
必需 |
|
DocumentReference
|
待读取的文档引用;会先经 feishu.drive.references.resolve_document_reference 解析。 |
必需 |
|
int | None
|
内容语言, |
None
|
返回:
| 类型 | 描述 |
|---|---|
str
|
文档的纯文本内容字符串。 |
引发:
| 类型 | 描述 |
|---|---|
ValueError
|
当解析后的文档类型不受支持时抛出。 |