首页 > 解决方案 > 使用图形 api 缺少响应创建新团队

问题描述

我正在使用图形 api 的 C# 库创建一个新的 MS-Teams 团队。 https://www.nuget.org/packages/Microsoft.Graph/3.35.0
https://docs.microsoft.com/en-us/graph/api/team-post?view=graph-rest-1.0&tabs=夏普

到目前为止,我使用“从组创建团队”版本,因为在我最初启动项目时不支持从模板直接创建团队。由于这包括手动创建组的开销,并且更容易出错(邮件昵称冲突、计时),我想从链接移至新模板 api。

问题是我至少需要创建团队的 ID。

var newTeam = await graphClient.Teams
    .Request()
    .AddAsync(team);

从文档执行代码仅返回 null。
由于这是一个长时间运行的操作,因此响应仅包含一个我可以在完成后获取数据的位置。

HTTP/1.1 202 Accepted
Content-Type: application/json
Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')/operations('3a6fdce1-c261-48bc-89de- 1cfef658c0d5')
Content-Location: /teams('dbd8de4f-5d47-48da-87f1-594bed003375')
Content-Length: 0

有没有办法在不完全放弃使用 C# 库的情况下访问响应数据?

标签: c#microsoft-graph-apimicrosoft-teams

解决方案


感谢您伸出援手。要访问团队,请将 GET 发送到团队端点,并在 Location 中传递 id。您应该在两次检查之间等待 >30 秒。您应该能够使用 SDK 发送此请求:

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var team = await graphClient.Teams["dbd8de4f-5d47-48da-87f1-594bed003375"]
    .Request()
    .GetAsync();

有关详细信息,请参阅teamAsyncOperation文档。

让我知道这是否有帮助,如果您还有其他问题。


推荐阅读