Microsoft graph api team Bot SDK无法使用channel conversationUpdate引用获取团队信息

Microsoft graph api team Bot SDK无法使用channel conversationUpdate引用获取团队信息,microsoft-graph-api,microsoft-teams,microsoft-graph-teams,Microsoft Graph Api,Microsoft Teams,Microsoft Graph Teams,我有一个频道的conversationUpdate事件,我在下面的代码段中将其用作conversationReference。出于某种原因,当我尝试运行此代码时,我收到一个错误,提示“此方法仅在MS团队的范围内有效”。尽管据我所知,我提供的事件属于团队的范围(作为进一步证明,conversation.conversationType是channel)。相反,我能够成功地调用TeamsInfo.getPagedMembers(),如果我不在团队范围内,我可能会失败 const proactiveC

我有一个频道的conversationUpdate事件,我在下面的代码段中将其用作
conversationReference
。出于某种原因,当我尝试运行此代码时,我收到一个错误,提示“此方法仅在MS团队的范围内有效”。尽管据我所知,我提供的事件属于团队的范围(作为进一步证明,
conversation.conversationType
channel
)。相反,我能够成功地调用
TeamsInfo.getPagedMembers()
,如果我不在团队范围内,我可能会失败

const proactiveChannelHandler = async (turnContext) => {
  try {
    const teamDetails = await TeamsInfo.getTeamDetails(turnContext);
    if (teamDetails) {
      await turnContext.sendActivity(`The group ID is: ${teamDetails.aadGroupId}`);
    } else {
      await turnContext.sendActivity('This message did not come from a channel in a team.');
    }
  } catch (err) {
      console.error(err);
  }
}

adapter.continueConversation(conversationReference, proactiveChannelHandler);

我能够使用以下示例成功获得频道列表:

        private static async Task ListChannelsAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
        {
            var channels = await TeamsInfo.GetTeamChannelsAsync(turnContext, null, cancellationToken);

            foreach (var channel in channels)
            {
                if (channel.Name == null)
                    channel.Name = "General";
            }

            await turnContext.SendActivityAsync(MessageFactory.Text($"Channels list: {string.Join(", ", channels.Select(c => c.Name).ToArray())}"), cancellationToken);
        }
private static async Task ListChannelsAsync(ITurnContext turnContext,CancellationToken CancellationToken)
{
var channels=await TeamsInfo.GetTeamChannelsAsync(turnContext,null,cancellationToken);
foreach(通道中的var通道)
{
if(channel.Name==null)
channel.Name=“General”;
}
Wait turnContext.SendActivityAsync(MessageFactory.Text($”通道列表:{string.Join(“,”,Channels.Select(c=>c.Name.ToArray())}),cancellationToken);
}

我使用以下示例成功获得了频道列表:

        private static async Task ListChannelsAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
        {
            var channels = await TeamsInfo.GetTeamChannelsAsync(turnContext, null, cancellationToken);

            foreach (var channel in channels)
            {
                if (channel.Name == null)
                    channel.Name = "General";
            }

            await turnContext.SendActivityAsync(MessageFactory.Text($"Channels list: {string.Join(", ", channels.Select(c => c.Name).ToArray())}"), cancellationToken);
        }
private static async Task ListChannelsAsync(ITurnContext turnContext,CancellationToken CancellationToken)
{
var channels=await TeamsInfo.GetTeamChannelsAsync(turnContext,null,cancellationToken);
foreach(通道中的var通道)
{
if(channel.Name==null)
channel.Name=“General”;
}
Wait turnContext.SendActivityAsync(MessageFactory.Text($”通道列表:{string.Join(“,”,Channels.Select(c=>c.Name.ToArray())}),cancellationToken);
}

看起来问题在于我缺少团队ID所需的第二个参数。看起来问题在于我缺少团队ID所需的第二个参数。您尝试过该示例吗?@Dev,除非我缺少什么,这似乎不相关。我们可以打电话讨论这个问题吗?请在microsoftteamsdev@microsoft.comHave您尝试了样本?@Dev除非我遗漏了什么,否则这似乎是无关的。我们可以打电话讨论这个问题吗?请将此问题转发到microsoftteamsdev@microsoft.com