apps 包
版权所有 (c) Microsoft Corporation。 保留所有权利。 根据 MIT 许可证获得许可。
类
| ActivityContext |
传递给具有中间件支持的活动处理程序的上下文对象。 |
| ActivityEvent |
处理活动时发出的事件。 |
| ActivityResponseEvent |
在返回调用响应之前插件发出的事件。 |
| ActivitySentEvent |
发送活动时发出的事件。 |
| App |
主要的 Teams 应用程序业务流程协调程序。 管理Microsoft Teams应用的插件、令牌和应用程序生命周期。 |
| AppOptions |
Teams 应用的配置选项。 |
| ClientContext |
有关Microsoft Teams中的客户端和会话的运行时信息。 |
| CoreActivity |
所有传输都需要了解的核心活动字段。 通过 extra=“allow”为特定于协议的字段可扩展。 通过分析和验证关键字参数中的输入数据来创建新模型。 引发 [ValidationError][pydantic_core。如果无法验证输入数据以形成有效的模型,则 ValidationError]。 self 是显式位置仅允许 自己 作为字段名称。 |
| DependencyMetadata |
与插件依赖项关联的信息 |
| ErrorEvent |
发生错误时发出的事件。 |
| EventMetadata |
与插件事件关联的信息 |
| EventProtocol |
Teams 应用系统中事件对象的协议。 |
| FastAPIAdapter |
默认 HttpServerAdapter 实现包装 FastAPI + uvicorn。 |
| FunctionContext |
在 Teams 应用中为远程函数执行提供的上下文。 |
| HttpServer |
核心 Teams HTTP 服务器。 不是插件 - 直接由应用拥有。 管理 HttpServerAdapter 实例,并处理 Teams 协议的 JWT 验证和活动处理。 |
| HttpServerAdapter |
特定于框架的 HTTP 服务器适配器的协议。 实现此适配器以插入任何 HTTP 框架(FastAPI、Starlette、Flask 等)。
SDK 使用与框架无关 |
| HttpStream |
用于Microsoft Teams活动的基于 HTTP 的流式处理实现。 流:
超时取消可确保一次只计划一个刷新操作。 刷新之间的延迟是确保我们不会通过Microsoft Teams达到 API 速率限制。 初始化新的 HttpStream 实例。 |
| PluginActivityEvent |
收到活动时插件发出的事件。 创建新的 PluginActivityEvent 实例(令牌、活动、conversation_ref) |
| PluginActivityResponseEvent |
在发送活动响应之前发出的事件 创建 PluginActivityResponseEvent 的新实例(活动、conversation_ref、响应) |
| PluginActivitySentEvent |
发送活动时发出的事件。 创建新的 PluginActivitySentEvent 实例(活动,conversation_ref) |
| PluginBase |
Teams 应用插件的基本插件。 |
| PluginErrorEvent |
发生错误时发出的事件。 创建新的 PluginErrorEvent 实例(错误、活动) |
| PluginOptions |
插件元数据 |
| PluginStartEvent |
启动插件时发出的事件。 创建新的 PluginStartEvent 实例(端口,) |
| SignInEvent |
版权所有 (c) Microsoft Corporation。 保留所有权利。 根据 MIT 许可证获得许可。 |
| StartEvent |
应用启动时发出的事件。 |
| StopEvent |
应用停止时发出的事件。 |
| StreamCancelledError |
在流取消后尝试流操作时引发。 |
| StreamerProtocol |
可以发送活动的流式传输区块的组件。 |
| TokenValidator |
使用 PyJWKClient 进行简化验证的 JWT 令牌验证程序。 初始化令牌验证程序。 |
函数
Plugin
使用修饰器模式将任何类转换为插件。
Plugin(name: str | None = None, version: str | None = None, description: str | None = None) -> Callable[[Type[T]], Type[T]]
参数
| 名称 | 说明 |
|---|---|
|
name
|
默认值: None
|
|
version
|
默认值: None
|
|
description
|
默认值: None
|
get_event_type_from_signature
通过检查第一个参数的类型提示从函数签名中提取事件类型。
get_event_type_from_signature(func: Callable[[...], Any]) -> Literal['activity', 'error', 'start', 'stop', 'sign_in', 'activity_response', 'activity_sent'] | str | None
参数
| 名称 | 说明 |
|---|---|
|
func
必需
|
要检查的函数 |
返回
| 类型 | 说明 |
|---|---|
|
如果可检测到,则为事件类型字符串,否则为 None |
get_metadata
从类获取插件元数据。
get_metadata(cls: Type[PluginBase]) -> PluginOptions
参数
| 名称 | 说明 |
|---|---|
|
cls
必需
|
|
is_registered_event
检查是否已注册事件名称。
is_registered_event(event_name: str) -> bool
参数
| 名称 | 说明 |
|---|---|
|
event_name
必需
|
要检查的事件名称 |
返回
| 类型 | 说明 |
|---|---|
|
如果已注册,则为 True;否则为 False |
to_threaded_conversation_id
通过追加来构造线程会话 ID ;messageid={message_id} 到会话 ID。 这是 APX 用于将消息路由到特定线程的格式。
to_threaded_conversation_id(conversation_id: str, message_id: str) -> str
参数
| 名称 | 说明 |
|---|---|
|
conversation_id
必需
|
要线程进入的对话(例如 19:abc@thread.skype) |
|
message_id
必需
|
线程根消息 ID (必须是非零数值字符串) |
返回
| 类型 | 说明 |
|---|---|
|
<xref:The> <xref:threaded> <xref:conversation> <xref:ID> (<xref:e.g.> `<xref:19>
|
<xref:mailto:abc@thread.skype>;messageid=123') |
validate_remote_function_request
验证 JWT 并从请求标头中提取客户端上下文以获取远程函数调用。
async validate_remote_function_request(headers: Dict[str, str], entra_token_validator: TokenValidator | None) -> tuple[Optional[microsoft_teams.apps.contexts.client_context.ClientContext], Optional[str]]
参数
| 名称 | 说明 |
|---|---|
|
headers
必需
|
请求标头听写。 |
|
entra_token_validator
必需
|
用于Entra ID令牌的 TokenValidator 实例。 |
返回
| 类型 | 说明 |
|---|---|
|
失败时(ClientContext、None)的元组或(无、error_message) 的元组。 |