无法以编程方式创建团队

Unable to create a Team programmatically

我已经成功创建了 Office 365 组,添加了成员​​和所有者,现在我正在尝试为此组配置一个团队。我应该如何在 .NET 控制台应用程序中使用 MS Graph 来配置它?

我尝试了以下代码,但我没有得到我的团队。

var team = new Team
{
    GuestSettings = new TeamGuestSettings
    {
        AllowCreateUpdateChannels = false,
        AllowDeleteChannels = false
    }
};

await graphServiceClient.Groups[groupID].Team.Request().CreateAsync(team);

以上代码的响应

消息:找不到与请求 URI“https://api.teams.skype.com/v1.0/groups('da87fc59-403b-4b0f-973f-f812d41143aa')/team”匹配的 HTTP 资源。

内部错误

Error Screenshot

编辑:我正在为 MS Graph 扩展使用最新的 NUGET 包。

编辑 2:尝试改为执行以下操作。

await graphServiceClient.Groups[groupID].Team.Request().PutAsync(team);

知道了:

代码:未授权访问 消息:无法执行 Aad 后端请求 GetTenantSubscribedSkusRequest。请求Url:https://graph.windows.net/dc7b2a82-XXXX-XXXX-XXXX-46122279d033/subscribedSkus?api-version=1.6,请求方法:GET,响应状态码:未授权,响应Headers:ocp-aad-diagnostics-server-name:HmmXXX+7Su9HNJVjwqsmVjPsrXXXXXXXX/iNwuI3H74= request-id: 9257706c-XXXX-XXXX-XXXX-bbf33b98da7d 客户端-request-id:f263695b-XXXX-XXXX-XXXX-9fdf185fXXXX Strict-Transport-Security: max-age=31536000;包括子域名 日期:2019 年 6 月 19 日星期三 13:20:18 GMT

有什么建议吗?

  • 确保您使用的是具有 Group.ReadWrite.All 权限的 Delegated 身份验证上下文(用户必须登录)
  • 确保您同意应用程序权限(在应用程序注册的API权限屏幕上,您会找到一个Grant Consent按钮一直往下)
  • 使用PutAsync方法(今天,正如您所说,您必须先创建Office 365组,然后再启用Teams)

你能确认这个群组真的被创建了吗? "No HTTP resource was found that matches the request URI" 通常意味着 graphServiceClient.Groups[groupID] 不起作用。这可能与权限有关。

我注意到我在应用程序权限方面也有同样的问题。我发现可以解除阻止代码再次工作的一件事是通过 Graph Explorer 创建一个团队,然后我会好几天。

然后错误又回来了,我通过资源管理器创建了另一个团队,然后我就可以像以前一样开始创建了。这告诉我这不是代码问题,而是某个地方的 Teams 图连接问题。

这是一个服务错误。现在可以使用了。

Link to service bug on GitHub

微软文档说

If the group was created less than 15 minutes ago, it's possible for the Create team call to fail with a 404 error code due to replication delays. The recommended pattern is to retry the Create team call three times, with a 10 second delay between calls.

我遇到了这个问题,按照上面建议的重试逻辑后,它一直工作正常