BotFrameworkAdapter 類別

實作

public class BotFrameworkAdapter
extends BotAdapter
implements AdapterIntegration, UserTokenProvider, ConnectorClientBuilder

可將 Bot 連線至服務端點的 Bot 配接器。 Bot 配接器會封裝驗證程式,並將活動傳送至 Bot Connector Service 並從中接收活動。 當 Bot 收到活動時,配接器會建立內容物件、將它傳遞給 Bot 的應用程式邏輯,並將回應傳回使用者的通道。

使用 use(Middleware middleware)Middleware 物件新增至配接器\u2019中間件集合。 配接器會透過 Bot 中間件管線將傳入的活動處理並導向至 Bot\u2019邏輯,然後再次返回。 當每個活動進出 Bot 時,每個中間件都可以在 Bot 邏輯執行前後檢查或處理活動。

TurnContext Activity Bot Middleware

欄位摘要

修飾詞與類型 欄位與描述
static final java.lang.String CONNECTOR_CLIENT_KEY

用來儲存連接器客戶端的金鑰。

static final java.lang.String INVOKE_RESPONSE_KEY

儲存 InvokeResponse 的金鑰。

static final java.lang.String TEAMSCONNECTOR_CLIENT_KEY

儲存 TeamsConnectorClient 的金鑰。

建構函式摘要

建構函式 Description
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)

為指定的應用程式標識碼和範圍建立應用程式Credentials 物件。

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)

將主動式訊息從 Bot 傳送至交談。

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)

建立 Bot 的 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)

列出此 Bot 參與指定通道伺服器的交談。

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

列出此 Bot 參與指定通道伺服器的交談。

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

列出此 Bot 參與指定通道伺服器的交談。

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

列出此 Bot 參與指定通道伺服器的交談。

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)

使用 Bot 的應用程式認證,取得要傳送給使用者以進行連線名稱登入的原始登入連結。

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)

將主動式訊息傳送至交談。

呼叫此方法,以主動將訊息傳送至交談。 大部分的通道都需要使用者起始與 Bot 的交談,Bot 才能將活動傳送給使用者。

覆寫:

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

參數:

claimsIdentity - 交談的 ClaimsIdentity 參考。
reference - 要繼續之交談的參考。
callback - 要呼叫結果 Bot 回合的方法。

傳回:

工作,表示要執行的工作佇列。

continueConversation

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

將主動式訊息傳送至交談。

呼叫此方法,以主動將訊息傳送至交談。 大部分的通道都需要使用者起始與 Bot 的交談,Bot 才能將活動傳送給使用者。

覆寫:

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

參數:

claimsIdentity - 交談的 ClaimsIdentity 參考。
reference - 要繼續之交談的參考。
audience - 值,表示主動式訊息的收件者。
callback - 要呼叫結果 Bot 回合的方法。

傳回:

工作,表示要執行的工作佇列。

continueConversation

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

將主動式訊息從 Bot 傳送至交談。

呼叫此方法,以主動將訊息傳送至交談。 大部分的通道都需要使用者起始與 Bot 的交談,Bot 才能將活動傳送給使用者。

此多載會要求傳入 BotId,而與 Node 實作不同。 .Net 程式代碼可讓多個 Bot 裝載在節點不支援的單一配接器中。

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

覆寫:

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

參數:

botAppId - Bot 的應用程式識別碼。 這是入口網站註冊所傳回的 appId,而且通常會在 appSettings.json的 “MicrosoftAppId” 參數中找到。
reference - 要繼續之交談的參考。
callback - 要呼叫所產生 Bot 回合的方法。

傳回:

工作,表示要執行的工作佇列。

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)

在指定的通道上建立交談。 若要開始交談,您的 Bot 必須知道其帳戶資訊和該通道上的用戶帳戶資訊。 大部分的通道都只支援起始直接訊息(非群組)交談。

配接器會嘗試在通道上建立新的交談,然後透過中間件管線將 conversationUpdate 活動傳送至 callback 方法。

如果與指定的使用者建立對話,活動的 Activity#getConversation 標識碼將會包含新交談的標識碼。

參數:

channelId - 通道的標識碼。
serviceUrl - 通道的服務 URL 端點。
credentials - Bot 的應用程式認證。
conversationParameters - 用來建立交談的交談資訊。
callback - 要呼叫所產生 Bot 回合的方法。

傳回:

工作,表示要執行的工作佇列。

createConversation


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

在指定的通道上建立交談。 若要開始交談,您的 Bot 必須知道其帳戶資訊和該通道上的用戶帳戶資訊。 大部分的通道都只支援起始直接訊息(非群組)交談。

配接器會嘗試在通道上建立新的交談,然後透過中間件管線將 conversationUpdate 活動傳送至 callback 方法。

如果與指定的使用者建立對話,活動的 Activity#getConversation 標識碼將會包含新交談的標識碼。

參數:

channelId - 通道的標識碼。
serviceUrl - 通道的服務 URL 端點。
credentials - Bot 的應用程式認證。
conversationParameters - 用來建立交談的交談資訊。
callback - 要呼叫所產生 Bot 回合的方法。
reference - 包含租使用者的交談參考。

傳回:

工作,表示要執行的工作佇列。

createOAuthAPIClient

protected CompletableFuture createOAuthAPIClient(TurnContext turnContext, AppCredentials oAuthAppCredentials)

建立 Bot 的 OAuth 用戶端。

注意:此保護主要是讓單元測試可以覆寫以提供模擬 OAuthClient。

參數:

turnContext - 目前回合的內容物件。
oAuthAppCredentials - 建立用戶端時要使用的認證。 如果為 null,則會使用預設認證。

傳回:

Bot 的 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 - 要從交談中刪除的成員標識碼

傳回:

工作,表示要執行的工作佇列。

exchangeToken

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

執行令牌交換作業,例如單一登錄。

參數:

turnContext - 目前與使用者交談回合的內容。
oAuthAppCredentials - 適用於 OAuth 的 AppCredentials。
connectionName - 要使用的驗證連線名稱。
userId - 與 token 相關聯的使用者標識碼。
exchangeRequest - 交換要求詳細數據,可以是要交換的令牌或要交換的 URI。

傳回:

如果工作完成,則會傳回交換的令牌。

exchangeToken

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

執行令牌交換作業,例如單一登錄。

參數:

turnContext - 目前與使用者交談回合的內容。
connectionName - 要使用的驗證連線名稱。
userId - 與 token 相關聯的使用者標識碼。
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 - 使用此 Bot 設定的 Azure Active Directory 連線名稱。
resourceUrls - 要為其擷取令牌的資源URL清單。
userId - 擷取令牌的使用者標識碼。 如果傳入 null,則會從 TurnContext 中的 Activity 取得 userId。

傳回:

resourceUrl 字典至對應的 TokenResponse。

getAadTokens

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

擷取已設定連線上特定資源的 Azure Active Directory 令牌。

參數:

context - 目前與使用者交談回合的內容。
connectionName - 使用此 Bot 設定的 Azure Active Directory 連線名稱。
resourceUrls - 要為其擷取令牌的資源URL清單。
userId - 擷取令牌的使用者標識碼。 如果傳入 null,則會從 TurnContext 中的 Activity 取得 userId。

傳回:

resourceUrl 對應至對應的 TokenResponse

getActivityMembers

public CompletableFuture> getActivityMembers(TurnContextImpl context)

列出指定活動的成員。

參數:

context - 回合的內容物件。

傳回:

活動的成員清單

getActivityMembers

public CompletableFuture> getActivityMembers(TurnContextImpl context, String activityId)

列出指定活動的成員。

參數:

context - 回合的內容物件。
activityId - (選擇性)要列舉的活動標識碼。 如果未指定,則會使用目前的活動標識符。

傳回:

活動的成員清單

getConnectorClientCache

protected Map getConnectorClientCache()

取得 ConnectorClient 快取。 針對單元測試。

傳回:

ConnectorClient 快取。

getConversationMembers

public CompletableFuture> getConversationMembers(TurnContextImpl context)

列出目前交談的成員。

參數:

context - 回合的內容物件。

傳回:

目前交談的成員清單

getConversations

public CompletableFuture getConversations(TurnContextImpl context)

列出此 Bot 參與指定通道伺服器的交談。 通道伺服器會傳回頁面的結果,而且每個頁面都會包含 'continuationToken',可用來從伺服器擷取下一頁的結果。 此多載可能會在標準活動處理期間呼叫,此時將使用屬於目前活動處理管線一部分的 Bot 服務 URL 和認證。

參數:

context - 回合的內容物件。

傳回:

目前交談的成員清單

getConversations

public CompletableFuture getConversations(TurnContextImpl context, String continuationToken)

列出此 Bot 參與指定通道伺服器的交談。 通道伺服器會傳回頁面的結果,而且每個頁面都會包含 'continuationToken',可用來從伺服器擷取下一頁的結果。 此多載可能會在標準活動處理期間呼叫,此時將使用屬於目前活動處理管線一部分的 Bot 服務 URL 和認證。

參數:

context - 回合的內容物件。
continuationToken - 結果上一頁的接續令牌。

傳回:

目前交談的成員清單

getConversations

public CompletableFuture getConversations(String serviceUrl, MicrosoftAppCredentials credentials)

列出此 Bot 參與指定通道伺服器的交談。 通道伺服器會傳回頁面的結果,而且每個頁面都會包含 'continuationToken',可用來從伺服器擷取下一頁的結果。

參數:

serviceUrl - 要查詢之通道伺服器的 URL。 這可以從 context.activity.serviceUrl擷取。
credentials - Bot 連線至.services() 所需的認證。

傳回:

目前交談的成員清單

此多載可以從交談內容外部呼叫,因為只需要 Bot 的 ServiceUrl 和認證。

getConversations

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

列出此 Bot 參與指定通道伺服器的交談。 通道伺服器會傳回頁面的結果,而且每個頁面都會包含 'continuationToken',可用來從伺服器擷取下一頁的結果。 此多載可以從交談內容外部呼叫,因為只需要 Bot 的 ServiceUrl 和認證。

參數:

serviceUrl - 要查詢之通道伺服器的 URL。 這可以從 context.activity.serviceUrl擷取。
credentials - Bot 連線至.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)

使用 Bot 的 AppCredentials,取得要傳送給使用者以登入連線名稱的原始登入連結。

參數:

context - 目前與使用者交談回合的內容。
oAuthAppCredentials
connectionName - 要使用的驗證連線名稱。
userId - 將與令牌相關聯的使用者標識碼。
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 - 將與令牌相關聯的使用者標識碼。
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 - 將與令牌相關聯的使用者標識碼。
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 - 將與令牌相關聯的使用者標識碼。
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 - 擷取令牌狀態的使用者標識碼。
includeFilter - 要包含之連接的選擇性逗號分隔清單。 空白會傳回所有已設定連線的令牌狀態。

傳回:

TokenStatus 清單。

getTokenStatus

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

擷取指定使用者每個已設定連線的令牌狀態。

參數:

context - 目前與使用者交談回合的內容。
userId - 擷取令牌狀態的使用者標識碼。
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 對象的陣列,其中包含指派給活動的接收通道標識碼。
     <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 - 要註銷的使用者標識碼。

傳回:

工作,表示要執行的工作佇列。

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 物件,其中包含指派給活動的接收通道標識碼。

呼叫此專案之前,請將取代活動的標識碼設定為要取代之活動的標識碼。 onUpdateActivity(UpdateActivityHandler handler)

use

public BotFrameworkAdapter use(Middleware middleware)

將中間件新增至配接器的管線。 中間件會在初始化時新增至配接器。 針對每個回合,配接器會依您新增中間件的順序呼叫中間件。

覆寫:

BotFrameworkAdapter.use(Middleware middleware)

參數:

middleware - 要加入的中間件。

傳回:

更新的配接器物件。

適用於