使用 Graph 创建私有通道后,需要几分钟才能使用选项卡端点

Posted

技术标签:

【中文标题】使用 Graph 创建私有通道后,需要几分钟才能使用选项卡端点【英文标题】:Takes a few minutes until tabs endpoint is available after creating a private channel using Graph 【发布时间】:2021-05-26 06:15:50 【问题描述】:

我正在使用 Graph 在现有团队中创建一个新的私人频道。在此之后,我想在该频道中创建一个新选项卡。在对标签端点进行 POST 时,我几乎总是收到带有消息 No active channel found with channel id: 19:690... 的 404 NotFound,但是在创建私有通道后等待几分钟后,标签端点可用并且我可以创建标签。

如果创建标准频道,这总是成功的。

我可以使用 Graph SDK 和 Graph Explorer 重现这一点。

我可以尝试在使用 Graph SDK 按以下方式创建频道后列出可用的选项卡,以便能够看到问题:

    var graphClient = new GraphServiceClient(authProvider);

    var channelRequest = new Channel()
    
        DisplayName = "Test",
        MembershipType = ChannelMembershipType.Private,
        Members = new ChannelMembersCollectionPage()
        
          new AadUserConversationMember
          
            Roles = new List<String>()
            
                "owner"
            ,
            AdditionalData = new Dictionary<string, object>()
            
                "user@odata.bind", "https://graph.microsoft.com/v1.0/users('user-id')"
            
          
      
    ;

    var channel = await graphClient.Teams[teamId].Channels
        .Request()
        .AddAsync(channelRequest);

    //The following will be successful so we can see that the channel has been created  
    var newChannel = await graphClient.Teams[teamId].Channels[channel.Id]
        .Request()
        .GetAsync();

    //The following will return an error saying No active channel found with channel id: 19:690... but after waiting a few minutes this would be successful
    var newChannelTabs = await graphClient.Teams[teamId].Channels[channel.Id].Tabs
        .Request()
        .GetAsync();

其他人看到同样的问题还是我错过了什么?

编辑 在 Graph Explorer 中重现的步骤:

    在 SharePoint 中创建一个名为 Test 的新团队网站 获取组ID:GET https://graph.microsoft.com/v1.0/groups?$filter=displayName eq 'Test'&amp;$select=id 为组启用团队:PUT https://graph.microsoft.com/v1.0/groups/groupId/team,请求正文为 "memberSettings": "allowCreatePrivateChannels": true, "allowCreateUpdateChannels": true , "messagingSettings": "allowUserEditMessages": true, "allowUserDeleteMessages": true , "funSettings": "allowGiphy": true, "giphyContentRating": "strict" 在团队中创建一个新的私人频道:POST https://graph.microsoft.com/v1.0/teams/groupId/channels,请求正文为 "displayName": "PrivateChannel1", "membershipType": "private", "members": [ "@odata.type": "#microsoft.graph.aadUserConversationMember", "user@odata.bind": "https://graph.microsoft.com/v1.0/users('user id for an existing user')", "roles": [ "owner" ] ] 获取私人频道的标签:GET https://graph.microsoft.com/v1.0/teams/groupId/channels/channelId for the private channel/tabs

我在 Graph Explorer 中对此进行测试时得到的结果是,第一个通道看起来不错,但是在创建第二个和第三个通道时,我开始看到 404 NotFound 的问题。我还看到,我之前关于错误在几分钟后消失的假设是不正确的,对于第三个频道,我在 30 分钟后仍然在大约一半的尝试中得到错误。 上周左右,我们在多个客户租户中看到了这个问题,但截至今天,我只能在一个租户中重现它。

【问题讨论】:

大概类似这样:***.com/questions/61502155/… 您能否使用具有所需权限的图形资源管理器或邮递员进行测试?将尝试从我们这里重现该问题并尽快更新您。 @Mallipriya-MSFT 查看我编辑的帖子,了解 Graph Explorer 中的重现步骤。 @Mallipriya-MSFT 不幸的是,我们今天再次开始在我们的一位客户租户中看到该问题,但似乎不太频繁。你有消息吗?您是否需要租户 ID 或请求 ID 才能查看? 我的租户也有同样的问题 【参考方案1】:

为了获得来自@nikiha 的 cmets 的更好的可见性应对答案

当您使用图形 API 创建通道时,需要一些时间来更新。在创建频道后将选项卡添加到创建的频道将失败。如问题中所述,我们需要等待 SPO 配置异步通道创建成功。创建频道几分钟后,您是否遇到任何问题?您是否无法在一段时间后列出频道的标签?

【讨论】:

以上是关于使用 Graph 创建私有通道后,需要几分钟才能使用选项卡端点的主要内容,如果未能解决你的问题,请参考以下文章

C++ 使这个 Djikstra 实现更快

创建后使颤振项目快速兼容

Twilio WebRTC TURN 中继在几分钟后随机停止工作

Apache Zeppelin:每个页面都需要几分钟才能加载

加载太久后如何停止WebEngine?

具有到期时间的字典缓存