我正在后台任务中做一些工作,并且有我可用的用户ID(是从activity.from.id中提取的)和连接名。
如何从漫游器服务获取用户令牌? -turncontext不可用。
[请记住,必须对Bot Framework REST API调用进行授权,因此,除了用户ID和连接名称之外,您还需要机器人的应用程序凭据。如果拥有所有这些,则可以获取如下用户令牌:
private async Task<string> GetUserTokenAsync(string userId, string connectionName, AppCredentials appCredentials)
{
var client = new OAuthClient(new Uri(OAuthClientConfig.OAuthEndpoint), appCredentials);
var response = await client.UserToken.GetTokenAsync(userId, connectionName);
return response.Token;
}
这是从BotFrameworkAdapter.cs中可以找到的代码中提取的,但已修改为不需要转弯上下文。