BotFrameworkAdapter 类

实现

public class BotFrameworkAdapter
extends BotAdapter
implements AdapterIntegration, UserTokenProvider, ConnectorClientBuilder

可将机器人连接到服务终结点的机器人适配器。 机器人适配器封装身份验证过程,并向 Bot Connector 服务发送活动并从中接收活动。 当机器人收到活动时,适配器会创建一个上下文对象,将其传递给机器人的应用程序逻辑,并将响应发送回用户的通道。

使用 use(Middleware middleware)Middleware 对象添加到适配器\u2019中间件集合。 适配器通过机器人中间件管道处理传入活动并将其定向到机器人\u2019逻辑,然后再次返回。 当每个活动传入和流出机器人时,每个中间件都可以在机器人逻辑运行前后检查或处理活动。

TurnContext Activity Bot Middleware

字段摘要

修饰符和类型 字段和描述
static final java.lang.String CONNECTOR_CLIENT_KEY

用于存储连接器客户端的密钥。

static final java.lang.String INVOKE_RESPONSE_KEY

用于存储调用响应的密钥。

static final java.lang.String TEAMSCONNECTOR_CLIENT_KEY

用于存储 Teams连接器客户端的密钥。

构造函数摘要

构造函数 说明
BotFrameworkAdapter(AppCredentials withCredentials, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

使用凭据提供程序初始化 BotFrameworkAdapter 类的新实例。

BotFrameworkAdapter(CredentialProvider withCredentialProvider)

使用凭据提供程序初始化 BotFrameworkAdapter 类的新实例。

BotFrameworkAdapter(CredentialProvider withCredentialProvider, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

使用凭据提供程序初始化 BotFrameworkAdapter 类的新实例。

BotFrameworkAdapter(CredentialProvider withCredentialProvider, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

使用凭据提供程序初始化 BotFrameworkAdapter 类的新实例。

方法摘要

修饰符和类型 方法和描述
protected void addConnectorClientToCache(String serviceUrl, String appId, String scope, ConnectorClient client)

将连接器客户端插入缓存。

protected java.util.concurrent.CompletableFuture<AppCredentials> buildAppCredentials(String appId, String scope)

为指定的应用ID 和范围创建应用凭据对象。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)

向对话发送主动消息。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)

向对话发送主动消息。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)

将主动消息从机器人发送到聊天。

java.util.concurrent.CompletableFuture<ConnectorClient> createConnectorClient(String serviceUrl, ClaimsIdentity claimsIdentity, String audience)

创建连接器客户端异步。

java.util.concurrent.CompletableFuture<java.lang.Void> createConversation(String channelId, String serviceUrl, MicrosoftAppCredentials credentials, ConversationParameters conversationParameters, BotCallbackHandler callback)

在指定的通道上创建对话。

java.util.concurrent.CompletableFuture<java.lang.Void> createConversation(String channelId, String serviceUrl, MicrosoftAppCredentials credentials, ConversationParameters conversationParameters, BotCallbackHandler callback, ConversationReference reference)

在指定的通道上创建对话。

protected java.util.concurrent.CompletableFuture<OAuthClient> createOAuthAPIClient(TurnContext turnContext, AppCredentials oAuthAppCredentials)

为机器人创建 OAuth 客户端。

java.util.concurrent.CompletableFuture<java.lang.Void> deleteActivity(TurnContext context, ConversationReference reference)

删除对话中的现有活动。

java.util.concurrent.CompletableFuture<java.lang.Void> deleteConversationMember(TurnContextImpl context, String memberId)

从当前对话中删除成员。

java.util.concurrent.CompletableFuture<TokenResponse> exchangeToken(TurnContext turnContext, AppCredentials oAuthAppCredentials, String connectionName, String userId, TokenExchangeRequest exchangeRequest)

执行令牌交换操作,例如单一登录。

java.util.concurrent.CompletableFuture<TokenResponse> exchangeToken(TurnContext turnContext, String connectionName, String userId, TokenExchangeRequest exchangeRequest)

执行令牌交换操作,例如单一登录。

java.util.concurrent.CompletableFuture<java.util.Map<java.lang.String,TokenResponse>> getAadTokens(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String[] resourceUrls, String userId)

使用自定义的应用凭据检索配置连接上特定资源的 Azure Active Directory 令牌。

java.util.concurrent.CompletableFuture<java.util.Map<java.lang.String,TokenResponse>> getAadTokens(TurnContext context, String connectionName, String[] resourceUrls, String userId)

检索配置连接上特定资源的 Azure Active Directory 令牌。

java.util.concurrent.CompletableFuture<java.util.List<ChannelAccount>> getActivityMembers(TurnContextImpl context)

列出给定活动的成员。

java.util.concurrent.CompletableFuture<java.util.List<ChannelAccount>> getActivityMembers(TurnContextImpl context, String activityId)

列出给定活动的成员。

protected java.util.Map<java.lang.String,ConnectorClient> getConnectorClientCache()

获取连接器客户端缓存。

java.util.concurrent.CompletableFuture<java.util.List<ChannelAccount>> getConversationMembers(TurnContextImpl context)

列出当前对话的成员。

java.util.concurrent.CompletableFuture<ConversationsResult> getConversations(TurnContextImpl context)

列出此机器人为给定频道服务器参与的对话。

java.util.concurrent.CompletableFuture<ConversationsResult> getConversations(TurnContextImpl context, String continuationToken)

列出此机器人为给定频道服务器参与的对话。

java.util.concurrent.CompletableFuture<ConversationsResult> getConversations(String serviceUrl, MicrosoftAppCredentials credentials)

列出此机器人为给定频道服务器参与的对话。

java.util.concurrent.CompletableFuture<ConversationsResult> getConversations(String serviceUrl, MicrosoftAppCredentials credentials, String continuationToken)

列出此机器人为给定频道服务器参与的对话。

protected java.util.Map<java.lang.String,AppCredentials> getCredentialsCache()

获取应用凭据缓存。

java.util.concurrent.CompletableFuture<java.lang.String> getOAuthSignInLink(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName)

使用自定义的应用凭据,获取要发送给用户进行登录的原始登录链接以获取连接名称。

java.util.concurrent.CompletableFuture<java.lang.String> getOAuthSignInLink(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId, String finalRedirect)

使用机器人的应用凭据获取要发送给用户进行登录的原始登录链接,以获取连接名称。

java.util.concurrent.CompletableFuture<java.lang.String> getOAuthSignInLink(TurnContext context, String connectionName)

获取要发送给用户用于登录的连接名称的原始登录链接。

java.util.concurrent.CompletableFuture<java.lang.String> getOAuthSignInLink(TurnContext context, String connectionName, String userId, String finalRedirect)

获取要发送给用户用于登录的连接名称的原始登录链接。

protected java.util.concurrent.CompletableFuture<ConnectorClient> getOrCreateConnectorClient(String serviceUrl, AppCredentials usingAppCredentials)

从缓存或新创建的客户端返回连接器客户端。

java.util.concurrent.CompletableFuture<SignInResource> getSignInResource(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId, String finalRedirect)

获取要发送给用户用于登录的连接名称的原始登录链接。

java.util.concurrent.CompletableFuture<SignInResource> getSignInResource(TurnContext turnContext, String connectionName)

获取要发送给用户用于登录的连接名称的原始登录链接。

java.util.concurrent.CompletableFuture<SignInResource> getSignInResource(TurnContext turnContext, String connectionName, String userId, String finalRedirect)

获取要发送给用户用于登录的连接名称的原始登录链接。

java.util.concurrent.CompletableFuture<java.util.List<TokenStatus>> getTokenStatus(TurnContext context, AppCredentials oAuthAppCredentials, String userId, String includeFilter)

使用自定义的应用凭据检索给定用户的每个已配置连接的令牌状态。

java.util.concurrent.CompletableFuture<java.util.List<TokenStatus>> getTokenStatus(TurnContext context, String userId, String includeFilter)

检索给定用户的每个已配置连接的令牌状态。

java.util.concurrent.CompletableFuture<TokenResponse> getUserToken(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String magicCode)

尝试使用自定义的应用凭据检索登录流中的用户的令牌。

java.util.concurrent.CompletableFuture<TokenResponse> getUserToken(TurnContext context, String connectionName, String magicCode)

尝试检索登录流中的用户的令牌。

protected static java.lang.String keyForAppCredentials(String appId, String scope)

生成用于访问应用凭据缓存的密钥。

protected static java.lang.String keyForConnectorClient(String serviceUrl, String appId, String scope)

生成用于访问连接器客户端缓存的密钥。

java.util.concurrent.CompletableFuture<InvokeResponse> processActivity(ClaimsIdentity identity, Activity activity, BotCallbackHandler callback)

创建轮次上下文并运行传入活动的中间件管道。

java.util.concurrent.CompletableFuture<InvokeResponse> processActivity(String authHeader, Activity activity, BotCallbackHandler callback)

创建轮次上下文并运行传入活动的中间件管道。

java.util.concurrent.CompletableFuture<ResourceResponse[]> sendActivities(TurnContext context, List<Activity> activities)

将活动发送到对话。

java.util.concurrent.CompletableFuture<java.lang.Void> signOutUser(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId)

使用自定义的应用凭据通过令牌服务器注销用户。

java.util.concurrent.CompletableFuture<java.lang.Void> signOutUser(TurnContext context, String connectionName, String userId)

使用令牌服务器注销用户。

java.util.concurrent.CompletableFuture<ResourceResponse> updateActivity(TurnContext context, Activity activity)

替换聊天中的现有活动。

BotFrameworkAdapter use(Middleware middleware)

将中间件添加到适配器的管道。

方法继承自 BotAdapter

方法继承自 java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

字段详细信息

CONNECTOR_CLIENT_KEY

public static final String CONNECTOR_CLIENT_KEY

用于存储 ConnectorClient 的密钥。

INVOKE_RESPONSE_KEY

public static final String INVOKE_RESPONSE_KEY

用于存储 InvokeResponse 的密钥。

TEAMSCONNECTOR_CLIENT_KEY

public static final String TEAMSCONNECTOR_CLIENT_KEY

用于存储 TeamsConnectorClient 的密钥。 仅用于测试。

构造函数详细信息

BotFrameworkAdapter

public BotFrameworkAdapter(AppCredentials withCredentials, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

使用凭据提供程序初始化 BotFrameworkAdapter 类的新实例。

参数:

withCredentials - 要使用的凭据。
withAuthConfig - 身份验证配置。
withChannelProvider - 通道提供程序。
withRetryStrategy - 重试策略以重试 HTTP 操作。
withMiddleware - 最初要添加到适配器的中间件。

BotFrameworkAdapter

public BotFrameworkAdapter(CredentialProvider withCredentialProvider)

使用凭据提供程序初始化 BotFrameworkAdapter 类的新实例。

参数:

withCredentialProvider - 凭据提供程序。

BotFrameworkAdapter

public BotFrameworkAdapter(CredentialProvider withCredentialProvider, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

使用凭据提供程序初始化 BotFrameworkAdapter 类的新实例。

参数:

withCredentialProvider - 凭据提供程序。
withAuthConfig - 身份验证配置。
withChannelProvider - 通道提供程序。
withRetryStrategy - 重试策略以重试 HTTP 操作。
withMiddleware - 最初要添加到适配器的中间件。

BotFrameworkAdapter

public BotFrameworkAdapter(CredentialProvider withCredentialProvider, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)

使用凭据提供程序初始化 BotFrameworkAdapter 类的新实例。

参数:

withCredentialProvider - 凭据提供程序。
withChannelProvider - 通道提供程序。
withRetryStrategy - 重试策略以重试 HTTP 操作。
withMiddleware - 最初要添加到适配器的中间件。

方法详细信息

addConnectorClientToCache

protected void addConnectorClientToCache(String serviceUrl, String appId, String scope, ConnectorClient client)

将 ConnectorClient 插入缓存中。 仅用于单元测试。

参数:

serviceUrl - 服务 URL
appId - 应用做到了
scope - 范围
client - 要插入的 ConnectorClient。

buildAppCredentials

protected CompletableFuture buildAppCredentials(String appId, String scope)

为指定的 appId 和范围创建 AppCredentials 对象。

参数:

appId - appId。
scope - 范围。

返回:

AppCredentials 对象。

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)

向对话发送主动消息。

调用此方法以主动将消息发送到对话。 大多数通道要求用户启动与机器人的对话,然后机器人才能向用户发送活动。

替代:

BotFrameworkAdapter.continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)

参数:

claimsIdentity - 会话的 ClaimsIdentity 引用。
reference - 要继续的对对话的引用。
callback - 调用结果机器人轮次的方法。

返回:

表示要执行的工作的任务。

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)

向对话发送主动消息。

调用此方法以主动将消息发送到对话。 大多数通道要求用户启动与机器人的对话,然后机器人才能向用户发送活动。

替代:

BotFrameworkAdapter.continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)

参数:

claimsIdentity - 会话的 ClaimsIdentity 引用。
reference - 要继续的对对话的引用。
audience - 表示主动消息收件人的值。
callback - 调用结果机器人轮次的方法。

返回:

表示要执行的工作的任务。

continueConversation

public CompletableFuture continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)

将主动消息从机器人发送到聊天。

调用此方法以主动将消息发送到对话。 大多数通道要求用户启动与机器人的对话,然后机器人才能向用户发送活动。

此重载不同于 Node 实现,需要传入 BotId。 .Net 代码允许多个机器人托管在节点不支持的单个适配器中。

processActivity(String authHeader, Activity activity, BotCallbackHandler callback) runPipeline(TurnContext context, BotCallbackHandler callback)

替代:

BotFrameworkAdapter.continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)

参数:

botAppId - 机器人的应用程序 ID。 这是门户注册返回的 appId,通常在 appSettings.json中的“MicrosoftAppId”参数中找到。
reference - 要继续的对对话的引用。
callback - 调用生成的机器人轮次的方法。

返回:

表示要执行的工作的任务。

createConnectorClient

public CompletableFuture createConnectorClient(String serviceUrl, ClaimsIdentity claimsIdentity, String audience)

创建连接器客户端异步。

参数:

serviceUrl - 服务 URL。
claimsIdentity - 声明标识。
audience - 连接器的目标受众。

返回:

ConnectorClient 实例。

createConversation

public CompletableFuture createConversation(String channelId, String serviceUrl, MicrosoftAppCredentials credentials, ConversationParameters conversationParameters, BotCallbackHandler callback)

在指定的通道上创建对话。 若要开始对话,机器人必须知道其帐户信息和该通道上的用户帐户信息。 大多数通道仅支持启动直接消息(非组)对话。

适配器尝试在通道上创建新会话,然后通过其中间件管道将 conversationUpdate 活动发送到 callback 方法。

如果与指定用户建立对话,则活动的 Activity#getConversation 的 ID 将包含新会话的 ID。

参数:

channelId - 通道的 ID。
serviceUrl - 通道的服务 URL 终结点。
credentials - 机器人的应用程序凭据。
conversationParameters - 用于创建聊天的对话信息。
callback - 调用生成的机器人轮次的方法。

返回:

表示要执行的工作的任务。

createConversation


public CompletableFuture createConversation(String channelId, String serviceUrl, MicrosoftAppCredentials credentials, ConversationParameters conversationParameters, BotCallbackHandler callback, ConversationReference reference)

在指定的通道上创建对话。 若要开始对话,机器人必须知道其帐户信息和该通道上的用户帐户信息。 大多数通道仅支持启动直接消息(非组)对话。

适配器尝试在通道上创建新会话,然后通过其中间件管道将 conversationUpdate 活动发送到 callback 方法。

如果与指定用户建立对话,则活动的 Activity#getConversation 的 ID 将包含新会话的 ID。

参数:

channelId - 通道的 ID。
serviceUrl - 通道的服务 URL 终结点。
credentials - 机器人的应用程序凭据。
conversationParameters - 用于创建聊天的对话信息。
callback - 调用生成的机器人轮次的方法。
reference - 包含租户的对话引用。

返回:

表示要执行的工作的任务。

createOAuthAPIClient

protected CompletableFuture createOAuthAPIClient(TurnContext turnContext, AppCredentials oAuthAppCredentials)

为机器人创建 OAuth 客户端。

注意:这主要受保护,以便单元测试可以重写以提供模拟 OAuthClient。

参数:

turnContext - 当前轮次的上下文对象。
oAuthAppCredentials - 创建客户端时要使用的凭据。 如果为 null,将使用默认凭据。

返回:

机器人的 OAuth 客户端。

deleteActivity

public CompletableFuture deleteActivity(TurnContext context, ConversationReference reference)

删除对话中的现有活动。

替代:

BotFrameworkAdapter.deleteActivity(TurnContext context, ConversationReference reference)

参数:

context - 轮次的上下文对象。
reference - 要删除的活动的对话引用。

返回:

表示要执行的工作的任务。 onDeleteActivity(DeleteActivityHandler handler)

deleteConversationMember

public CompletableFuture deleteConversationMember(TurnContextImpl context, String memberId)

从当前对话中删除成员。

参数:

context - 轮次的上下文对象。
memberId - 要从对话中删除的成员的 ID

返回:

表示要执行的工作的任务。

exchangeToken

public CompletableFuture exchangeToken(TurnContext turnContext, AppCredentials oAuthAppCredentials, String connectionName, String userId, TokenExchangeRequest exchangeRequest)

执行令牌交换操作,例如单一登录。

参数:

turnContext - 与用户的当前会话轮次的上下文。
oAuthAppCredentials - 适用于 OAuth 的 AppCredentials。
connectionName - 要使用的身份验证连接的名称。
userId - 与 token 关联的用户 ID。
exchangeRequest - 交换请求详细信息,可以是要交换的令牌,要么是交换的 URI。

返回:

如果任务完成,则返回交换的令牌。

exchangeToken

public CompletableFuture exchangeToken(TurnContext turnContext, String connectionName, String userId, TokenExchangeRequest exchangeRequest)

执行令牌交换操作,例如单一登录。

参数:

turnContext - 与用户的当前会话轮次的上下文。
connectionName - 要使用的身份验证连接的名称。
userId - 与 token 关联的用户 ID。
exchangeRequest - 交换请求详细信息,可以是要交换的令牌,要么是交换的 URI。

返回:

如果任务完成,则返回交换的令牌。

getAadTokens

public CompletableFuture> getAadTokens(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String[] resourceUrls, String userId)

使用自定义的 AppCredentials 检索配置连接上特定资源的 Azure Active Directory 令牌。

参数:

context - 与用户的当前会话轮次的上下文。
oAuthAppCredentials - 适用于 OAuth 的 AppCredentials。
connectionName - 使用此机器人配置的 Azure Active Directory 连接的名称。
resourceUrls - 要为其检索令牌的资源 URL 列表。
userId - 检索令牌的用户 ID。 如果传入 null,则 userId 将从 TurnContext 中的活动获取。

返回:

resourceUrl 字典到相应的 TokenResponse。

getAadTokens

public CompletableFuture> getAadTokens(TurnContext context, String connectionName, String[] resourceUrls, String userId)

检索配置连接上特定资源的 Azure Active Directory 令牌。

参数:

context - 与用户的当前会话轮次的上下文。
connectionName - 使用此机器人配置的 Azure Active Directory 连接的名称。
resourceUrls - 要为其检索令牌的资源 URL 列表。
userId - 检索令牌的用户 ID。 如果传入 null,则 userId 将从 TurnContext 中的活动获取。

返回:

resourceUrl 映射到相应的 TokenResponse

getActivityMembers

public CompletableFuture> getActivityMembers(TurnContextImpl context)

列出给定活动的成员。

参数:

context - 轮次的上下文对象。

返回:

活动的成员列表

getActivityMembers

public CompletableFuture> getActivityMembers(TurnContextImpl context, String activityId)

列出给定活动的成员。

参数:

context - 轮次的上下文对象。
activityId - (可选)要枚举的活动 ID。 如果未指定,将使用当前活动 ID。

返回:

活动的成员列表

getConnectorClientCache

protected Map getConnectorClientCache()

获取 ConnectorClient 缓存。 用于单元测试。

返回:

ConnectorClient 缓存。

getConversationMembers

public CompletableFuture> getConversationMembers(TurnContextImpl context)

列出当前对话的成员。

参数:

context - 轮次的上下文对象。

返回:

当前对话的成员列表

getConversations

public CompletableFuture getConversations(TurnContextImpl context)

列出此机器人为给定频道服务器参与的对话。 通道服务器返回页面结果,每个页面将包含一个“continuationToken”,可用于从服务器中提取下一页结果。 可以在标准活动处理期间调用此重载,此时将使用机器人的服务 URL 和当前活动处理管道中的凭据。

参数:

context - 轮次的上下文对象。

返回:

当前对话的成员列表

getConversations

public CompletableFuture getConversations(TurnContextImpl context, String continuationToken)

列出此机器人为给定频道服务器参与的对话。 通道服务器返回页面结果,每个页面将包含一个“continuationToken”,可用于从服务器中提取下一页结果。 可以在标准活动处理期间调用此重载,此时将使用机器人的服务 URL 和当前活动处理管道中的凭据。

参数:

context - 轮次的上下文对象。
continuationToken - 结果上一页的延续标记。

返回:

当前对话的成员列表

getConversations

public CompletableFuture getConversations(String serviceUrl, MicrosoftAppCredentials credentials)

列出此机器人为给定频道服务器参与的对话。 通道服务器返回页面结果,每个页面将包含一个“continuationToken”,可用于从服务器中提取下一页结果。

参数:

serviceUrl - 要查询的通道服务器的 URL。 可以从 context.activity.serviceUrl中检索此数据。
credentials - 机器人连接到 .services 所需的凭据。

返回:

当前对话的成员列表

可以从会话上下文外部调用此重载,因为只需要机器人的 ServiceUrl 和凭据。

getConversations

public CompletableFuture getConversations(String serviceUrl, MicrosoftAppCredentials credentials, String continuationToken)

列出此机器人为给定频道服务器参与的对话。 通道服务器返回页面结果,每个页面将包含一个“continuationToken”,可用于从服务器中提取下一页结果。 可以从会话上下文外部调用此重载,因为只需要机器人的 ServiceUrl 和凭据。

参数:

serviceUrl - 要查询的通道服务器的 URL。 可以从 context.activity.serviceUrl中检索此数据。
credentials - 机器人连接到 .services 所需的凭据。
continuationToken - 结果上一页的延续标记。

返回:

当前对话的成员列表

getCredentialsCache

protected Map getCredentialsCache()

获取 AppCredentials 缓存。 用于单元测试。

返回:

AppCredentials 缓存。

getOAuthSignInLink

public CompletableFuture getOAuthSignInLink(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName)

使用自定义的 AppCredentials 获取要发送给用户以登录的连接名称的原始登录链接。

参数:

context - 与用户的当前会话轮次的上下文。
oAuthAppCredentials - 适用于 OAuth 的 AppCredentials。
connectionName - 要使用的身份验证连接的名称。

返回:

表示要执行的工作的任务。
     If the task completes successfully, the result contains the raw
     signin link.

getOAuthSignInLink

public CompletableFuture getOAuthSignInLink(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId, String finalRedirect)

使用机器人的 AppCredentials 获取要发送给用户进行登录的原始登录链接以获取连接名称。

参数:

context - 与用户的当前会话轮次的上下文。
oAuthAppCredentials
connectionName - 要使用的身份验证连接的名称。
userId - 将与令牌关联的用户 ID。
finalRedirect - OAuth 流将重定向到的最终 URL。

返回:

表示要执行的工作的任务。
     If the task completes successfully, the result contains the raw
     signin link.

getOAuthSignInLink

public CompletableFuture getOAuthSignInLink(TurnContext context, String connectionName)

获取要发送给用户用于登录的连接名称的原始登录链接。

参数:

context - 与用户的当前会话轮次的上下文。
connectionName - 要使用的身份验证连接的名称。

返回:

表示要执行的工作的任务。

getOAuthSignInLink

public CompletableFuture getOAuthSignInLink(TurnContext context, String connectionName, String userId, String finalRedirect)

获取要发送给用户用于登录的连接名称的原始登录链接。

参数:

context - 与用户的当前会话轮次的上下文。
connectionName - 要使用的身份验证连接的名称。
userId - 将与令牌关联的用户 ID。
finalRedirect - OAuth 流将重定向到的最终 URL。

返回:

表示要执行的工作的任务。

getOrCreateConnectorClient

protected CompletableFuture getOrCreateConnectorClient(String serviceUrl, AppCredentials usingAppCredentials)

从缓存或新建的缓存中返回 ConnectorClient。

注意:这主要是为了允许单元测试重写此项以提供模拟 ConnectorClient

参数:

serviceUrl - 客户端的服务 URL。
usingAppCredentials - (可选)要使用的 AppCredentials。

返回:

将返回 ConnectorClient 的任务。

getSignInResource

public CompletableFuture getSignInResource(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId, String finalRedirect)

获取要发送给用户用于登录的连接名称的原始登录链接。

参数:

context - 与用户的当前会话轮次的上下文。
oAuthAppCredentials - 适用于 OAuth 的 AppCredentials。
connectionName - 要使用的身份验证连接的名称。
userId - 将与令牌关联的用户 ID。
finalRedirect - OAuth 流将重定向到的最终 URL。

返回:

表示要执行的工作的任务。
     If the task completes successfully, the result contains the raw
     signin link.

getSignInResource

public CompletableFuture getSignInResource(TurnContext turnContext, String connectionName)

获取要发送给用户用于登录的连接名称的原始登录链接。

参数:

turnContext - 与用户的当前会话轮次的上下文。
connectionName - 要使用的身份验证连接的名称。

返回:

表示要执行的工作的任务。
     If the task completes successfully, the result contains the raw
     signin link.

getSignInResource

public CompletableFuture getSignInResource(TurnContext turnContext, String connectionName, String userId, String finalRedirect)

获取要发送给用户用于登录的连接名称的原始登录链接。

参数:

turnContext - 与用户的当前会话轮次的上下文。
connectionName - 要使用的身份验证连接的名称。
userId - 将与令牌关联的用户 ID。
finalRedirect - OAuth 流将重定向到的最终 URL。

返回:

表示要执行的工作的任务。
     If the task completes successfully, the result contains the raw
     signin link.

getTokenStatus

public CompletableFuture> getTokenStatus(TurnContext context, AppCredentials oAuthAppCredentials, String userId, String includeFilter)

使用自定义的 AppCredentials 检索给定用户的每个已配置连接的令牌状态。

参数:

context - 与用户的当前会话轮次的上下文。
oAuthAppCredentials - 适用于 OAuth 的 AppCredentials。
userId - 检索令牌状态的用户 ID。
includeFilter - 要包含的连接的可选逗号分隔列表。 空白将返回所有已配置连接的令牌状态。

返回:

TokenStatus 列表。

getTokenStatus

public CompletableFuture> getTokenStatus(TurnContext context, String userId, String includeFilter)

检索给定用户的每个已配置连接的令牌状态。

参数:

context - 与用户的当前会话轮次的上下文。
userId - 检索令牌状态的用户 ID。
includeFilter - 要包含的连接的可选逗号分隔列表。 空白将返回所有已配置连接的令牌状态。

返回:

TokenStatus数组。

getUserToken

public CompletableFuture getUserToken(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String magicCode)

尝试使用自定义的 AppCredentials 检索登录流中的用户的令牌。

参数:

context - 与用户的当前会话轮次的上下文。
oAuthAppCredentials - 适用于 OAuth 的 AppCredentials。
connectionName - 要使用的身份验证连接的名称。
magicCode - (可选)可选用户输入代码进行验证。

返回:

令牌响应。

getUserToken

public CompletableFuture getUserToken(TurnContext context, String connectionName, String magicCode)

尝试检索登录流中的用户的令牌。

参数:

context - 与用户的当前会话轮次的上下文。
connectionName - 要使用的身份验证连接的名称。
magicCode - (可选)可选用户输入代码进行验证。

返回:

令牌响应

keyForAppCredentials

protected static String keyForAppCredentials(String appId, String scope)

生成用于访问应用凭据缓存的密钥。

参数:

appId - appId
scope - 范围。

返回:

缓存密钥

keyForConnectorClient

protected static String keyForConnectorClient(String serviceUrl, String appId, String scope)

生成用于访问连接器客户端缓存的密钥。

参数:

serviceUrl - 服务 URL
appId - 应用做到了
scope - 范围

返回:

缓存密钥。

processActivity

public CompletableFuture processActivity(ClaimsIdentity identity, Activity activity, BotCallbackHandler callback)

创建轮次上下文并运行传入活动的中间件管道。

参数:

identity - 请求的 ClaimsIdentity
activity - 传入活动。
callback - 在适配器中间件管道末尾运行的代码。

返回:

表示要执行的工作的任务。 如果活动类型为“Invoke”,并且找到相应的键(channelId + activityId),则返回 InvokeResponse,否则返回 null。

processActivity

public CompletableFuture processActivity(String authHeader, Activity activity, BotCallbackHandler callback)

创建轮次上下文并运行传入活动的中间件管道。

参数:

authHeader - 请求的 HTTP 身份验证标头。
activity - 传入活动。
callback - 在适配器中间件管道末尾运行的代码。

返回:

表示要执行的工作的任务。 如果活动类型为“Invoke”,并且找到相应的键(channelId + activityId),则返回 InvokeResponse,否则返回 null。

sendActivities

public CompletableFuture sendActivities(TurnContext context, List activities)

将活动发送到对话。

替代:

BotFrameworkAdapter.sendActivities(TurnContext context, List<Activity> activities)

参数:

context - 轮次的上下文对象。
activities - 要发送的活动。

返回:

表示要执行的工作的任务。 如果成功发送活动,则任务结果包含一组 ResourceResponse 对象,其中包含接收通道分配给活动的 ID。
     <xref uid="com.microsoft.bot.builder.TurnContext.onSendActivities(com.microsoft.bot.builder.SendActivitiesHandler)" data-throw-if-not-resolved="false" data-raw-source="TurnContext#onSendActivities(SendActivitiesHandler)"></xref>

signOutUser

public CompletableFuture signOutUser(TurnContext context, AppCredentials oAuthAppCredentials, String connectionName, String userId)

使用自定义 AppCredentials 通过令牌服务器注销用户。

参数:

context - 与用户的当前会话轮次的上下文。
oAuthAppCredentials - 适用于 OAuth 的 AppCredentials。
connectionName - 要使用的身份验证连接的名称。
userId - 要注销的用户的用户 ID。

返回:

表示要执行的工作的任务。

signOutUser

public CompletableFuture signOutUser(TurnContext context, String connectionName, String userId)

使用令牌服务器注销用户。

参数:

context - 与用户的当前会话轮次的上下文。
connectionName - 要使用的身份验证连接的名称。
userId

返回:

表示要执行的工作的任务。

updateActivity

public CompletableFuture updateActivity(TurnContext context, Activity activity)

替换聊天中的现有活动。

替代:

BotFrameworkAdapter.updateActivity(TurnContext context, Activity activity)

参数:

context - 轮次的上下文对象。
activity - 新的替换活动。

返回:

表示要执行的工作的任务。 如果成功发送活动,则任务结果包含一个 ResourceResponse 对象,该对象包含接收通道分配给活动的 ID。

在调用此 ID 之前,请将替换活动的 ID 设置为要替换的活动的 ID。 onUpdateActivity(UpdateActivityHandler handler)

use

public BotFrameworkAdapter use(Middleware middleware)

将中间件添加到适配器的管道。 中间件在初始化时添加到适配器。 对于每个轮次,适配器按添加中间件的顺序调用中间件。

替代:

BotFrameworkAdapter.use(Middleware middleware)

参数:

middleware - 要添加的中间件。

返回:

更新的适配器对象。

适用于