我通过 C# graph-api sdk 在 Microsoft Teams 中创建了团队(来自此处记录的组),没有任何问题 - 一切正常。
但是突然之间,这不再起作用了。我总是会在该行收到以下异常return await graphServiceClient.Teams.Request().AddAsync(team);:
消息:无法执行模板后端请求 CreateTeamFromGroupWithTemplateRequest。请求网址: https ://teams.microsoft.com/fabric/emea/templates/api/groups/theGroupId/team,请求方法:PUT,
并进一步:
无法指定团队可见性,因为它是从组继承的。
我知道,如果按照 Microsoft 文档中的说明从组创建团队,则不得设置可见性属性:
创建的团队将始终从组的显示名称、可见性、专业化和成员继承。因此,当使用 group@odata.bind 属性进行此调用时,包含团队 displayName、可见性、专业化或 members@odata.bind 属性将返回错误。
但是下面当前使用的代码表明我没有设置任何禁止的属性——而且这段代码在最近几天也有效:
private async Task<Team> CreateTeamFromGroup(string groupId)
{
var graphServiceClient = [...]
var groupResourceLink = $"https://graph.microsoft.com/v1.0/groups('{groupId}')";
var team = new Team
{
AdditionalData = new Dictionary<string, object>()
{
{ "template@odata.bind", "https://graph.microsoft.com/beta/teamsTemplates('standard')" },
{ "group@odata.bind", groupResourceLink }
},
Channels = new TeamChannelsCollectionPage
{
new Channel
{
DisplayName = "WhatEver"
}
}
};
return await graphServiceClient.Teams.Request().AddAsync(team);
}
还有其他人遇到这个问题吗?是否有 API 更改?团队后端是否发生了变化?有人有什么想法吗?
PS:我正在使用最新的 NuGet-Package for Microsoft Graph - 降级没有帮助。
更新(使用不太令人满意的解决方法)
- 该错误也可以通过图形 api explorer 重现。
- 上面的 POST 命令发出一个 PUT 命令,在此处进行了描述。通过此请求,可以创建团队。
- 但是,C# 的文档和图形 API 片段已经过时了。使用 sdk 时必须将 odatatype = null 添加到属性中
- 不幸的是,不可能在同一步骤中添加频道。如果您指定属性“通道”,它将被忽略。
更新(详细的错误信息)
System.AggregateException: '发生一个或多个错误。(代码:BadRequest 消息:无法执行模板后端请求 CreateTeamFromGroupWithTemplateRequest。请求网址: https ://teams.microsoft.com/fabric/emea/templates/api/groups/theGroupId/team,请求方法:PUT,响应状态代码: BadRequest, ErrorMessage : {"errors":[{"message":"无法指定团队可见性,因为它是从组继承的。"}],"operationId":"639448e414ece64caee8f52839585bf7"} 内部错误:AdditionalData: 日期:2020 -11-24T10:21:22 请求 ID: 37a28cac-3ac5-4bd2-a061-daf44c442fac 客户端请求 ID:37a28cac-3ac5-4bd2-a061-daf44c442fac ClientRequestId:37a28cac-3ac5-4bd2-a061-daf44c442fac)