BotFrameworkHttpClient 类

public class BotFrameworkHttpClient
extends BotFrameworkClient

用于使用 BotFramework HTTP 协议安全地将活动发布到机器人的类。 此类可用于使用 Bot Framework HTTP 协议安全地将活动发布到机器人。 有 2 种使用模式:* 将活动转发到技能(机器人 -> 机器人作为技能),这是通过 PostActivity(fromBotId、toBotId、toBotId、endpoint、serviceUrl、activity)、*将活动发布到自己(外部服务 -> 机器人),后者由外部服务(例如需要使用机器人自己的凭据将活动发布到机器人)使用。

构造函数摘要

构造函数 说明
BotFrameworkHttpClient(CredentialProvider credentialProvider, ChannelProvider channelProvider)

初始化 BotFrameworkHttpClient 类的新实例。

方法摘要

修饰符和类型 方法和描述
java.util.concurrent.CompletableFuture<TypedInvokeResponse<T>> <T>postActivity(String fromBotId, String toBotId, URI toUrl, URI serviceUrl, String conversationId, Activity activity, Class<T> type)

将活动转发到技能(机器人)。

java.util.concurrent.CompletableFuture<TypedInvokeResponse<T>> <T>postActivity(String botId, URI botEndpoint, Activity activity, Class<T> type)

使用机器人凭据将活动发布到机器人。

protected java.util.concurrent.CompletableFuture<AppCredentials> buildCredentials(String appId, String oAuthScope)

用于生成用于获取此 getHttpClient()的令牌的 AppCredentials 对象的逻辑。

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

获取应用缓存凭据以加快令牌获取速度(除非令牌过期)未请求。

protected ChannelProvider getChannelProvider()

获取此适配器的通道提供程序。

protected CredentialProvider getCredentialProvider()

获取此适配器的凭据提供程序。

okhttp3.OkHttpClient getHttpClient()

获取此适配器的 Http客户端。

方法继承自 BotFrameworkClient

方法继承自 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

构造函数详细信息

BotFrameworkHttpClient

public BotFrameworkHttpClient(CredentialProvider credentialProvider, ChannelProvider channelProvider)

初始化 BotFrameworkHttpClient 类的新实例。

参数:

credentialProvider - CredentialProvider 实例。
channelProvider - ChannelProvider 实例。

方法详细信息

<T>postActivity

public CompletableFuture> postActivity(String fromBotId, String toBotId, URI toUrl, URI serviceUrl, String conversationId, Activity activity, Class type)

将活动转发到技能(机器人)。 注意:将活动转发到技能将刷新 UserState 和 ConversationState 更改,使技能具有准确的状态。

替代:

BotFrameworkHttpClient.<T>postActivity(String fromBotId, String toBotId, URI toUrl, URI serviceUrl, String conversationId, Activity activity, Class<T> type)

参数:

fromBotId - 发送活动的机器人的 MicrosoftAppId。
toBotId - 接收活动的机器人的 MicrosoftAppId。
toUrl - 接收活动的机器人的 URL。
serviceUrl - 技能主机的回调 URL。
conversationId - 用于技能对话的对话 D。
activity - 要转发的活动。
type

返回:

具有可选 invokeResponse 的任务。

<T>postActivity

public CompletableFuture> postActivity(String botId, URI botEndpoint, Activity activity, Class type)

使用机器人凭据将活动发布到机器人。

参数:

botId - 机器人的 MicrosoftAppId。
botEndpoint - 机器人的 URL。
activity - 要发布的活动。
type - 类型。

返回:

InvokeResponse。

buildCredentials

protected CompletableFuture buildCredentials(String appId, String oAuthScope)

用于生成 AppCredentials 对象的逻辑,用于获取此 getHttpClient() 的令牌。

参数:

appId - 应用程序 ID。
oAuthScope - 可选的 OAuth 范围。

返回:

用于获取令牌的应用凭据。

getAppCredentialMapCache

protected static Map getAppCredentialMapCache()

获取用于加快令牌获取速度的 appCredentials 的缓存(除非已过期,否则不会请求令牌)。 AppCredentials 使用 appId + 范围进行缓存(仅当应用凭据用于调用技能时才使用此最后一个参数)。

返回:

AppCredentialMapCache 值作为静态 ConcurrentDictionary<String,AppCredentials>。

getChannelProvider

protected ChannelProvider getChannelProvider()

获取此适配器的通道提供程序。

返回:

ChannelProvider 值作为 getChannelProvider()。

getCredentialProvider

protected CredentialProvider getCredentialProvider()

获取此适配器的凭据提供程序。

返回:

CredentialProvider 值作为 getCredentialProvider()。

getHttpClient

public OkHttpClient getHttpClient()

获取此适配器的 HttpClient。

返回:

OkhttpClient 值作为 getHttpClient()。

适用于