使用 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'&$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 创建私有通道后,需要几分钟才能使用选项卡端点的主要内容,如果未能解决你的问题,请参考以下文章
Twilio WebRTC TURN 中继在几分钟后随机停止工作