无法以编程方式创建团队
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 图连接问题。
这是一个服务错误。现在可以使用了。
微软文档说
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.
我遇到了这个问题,按照上面建议的重试逻辑后,它一直工作正常
我已经成功创建了 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 图连接问题。
这是一个服务错误。现在可以使用了。
微软文档说
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.
我遇到了这个问题,按照上面建议的重试逻辑后,它一直工作正常