【问题标题】:Create team from group fails with exception从组创建团队失败并出现异常
【发布时间】:2020-11-23 12:06:54
【问题描述】:

我通过 C# graph-api sdk 在 Microsoft Teams (from groups as documented here) 中创建了团队,没有任何问题 - 一切正常。

但是突然之间这不再起作用了。我总是会在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 更改?团队后端是否发生了变化?有人有什么想法吗?

P.S.:我正在使用最新的 NuGet-Package for Microsoft Graph - 降级没有帮助。

更新(解决方法不是很令人满意)

  • 也可以通过图形 API 资源管理器重现该错误。
  • 上面的 POST 命令发出一个 PUT 命令,描述为here。通过此请求,可以创建团队。
    • 不过,C# 的文档和图形 API sn-p 已过时。使用 sdk 时必须将 odatatype = null 添加到属性中
    • 很遗憾,无法在同一步骤中添加频道。如果您指定属性“通道”,它将被忽略。

更新(详细的错误信息)

System.AggregateException: '发生一个或多个错误。 (代码: BadRequest 消息:无法执行模板后端请求 CreateTeamFromGroupWithTemplateRequest。请求网址: https://teams.microsoft.com/fabric/emea/templates/api/groups/theGroupId/team, 请求方法:PUT,响应状态码:BadRequest, ErrorMessage : {"errors":[{"message":"Team Visibility 不能 指定为它继承自 group."}],"operationId":"639448e414ece64caee8f52839585bf7"} 内部 错误:AdditionalData:日期:2020-11-24T10:21:22 request-id: 37a28cac-3ac5-4bd2-a061-daf44c442fac 客户端请求 ID: 37a28cac-3ac5-4bd2-a061-daf44c442fac ClientRequestId: 37a28cac-3ac5-4bd2-a061-daf44c442fac)'

【问题讨论】:

  • 我从 11 月 20 日 18.15 UTC 开始看到这个
  • 分享你收到的错误响应的requestid、时间戳...
  • 嗨@Dev,我在原始帖子的末尾添加了详细的错误消息。谢谢。
  • 我们有同样的错误。 github 上也有一些关于this issue 的内容。所以似乎 MS 上周末推出了一些不起作用的东西。
  • 情况正在好转,但仍不能完全正常工作。使用用户身份验证令牌发出请求并且不指定所有者,它将起作用。但是如果你在请求中添加一个所有者,同样的错误仍然会出现(详情为here)。

标签: microsoft-graph-api microsoft-teams microsoft-graph-sdks microsoft-graph-teams


【解决方案1】:

今天早上刚刚进行了测试,我可以说,使用 beta API 创建带有模板的团队的“旧方式”再次有效。不知道,还有多少其他方法可以做这些事情,但这是我们当前的请求,现在(再次)有效。

POST https://graph.microsoft.com/beta/teams
{
    "displayName": "My Group Name",
    "description": "Some description",
    "template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('educationClass')",
    "owners@odata.bind": [
        "https://graph.microsoft.com/beta/users('<someValidUserId>')"
    ]
}

我认为这只是一个中间状态,当错误被修复时,他们将再次发布新版本,这种创建将再次失败,但如果在这种情况下 v1.0 记录的方式将起作用,这将问题不大。但是在推出之前得到通知会很棒。

【讨论】:

    【解决方案2】:

    这是一个 Microsoft 问题/错误,目前正在修复,如 here 所述。

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 2021-12-21
      • 2021-03-04
      • 1970-01-01
      • 2015-02-20
      相关资源
      最近更新 更多