首页 > 解决方案 > 使用 Microsoft 图形 api 时创建团队团队错误

问题描述

我只是按照这个官方文件来原谅创建一个团队。创建团队 我也使用客户端凭据流并应用建议的所有权限。在 Postman 中,我使用此消息调用

{
   "template@odata.bind":"https://graph.microsoft.com/v1.0/teamsTemplates('standard')",
   "displayName":"My Sample Team",
   "description":"My Sample Team’s Description",
   "members":[
      {
         "@odata.type":"#microsoft.graph.aadUserConversationMember",
         "roles":[
            "owner"
         ],
         "userId":"xxxxx-61d8-43db-94f5-81374122dc7e"
      }
   ]
}

但不幸的是会收到这样的错误信息,我对这个未知的错误感到非常困惑

{
  "error": {
    "code": "UnknownError",
    "message": "",
    "innerError": {
      "date": "2020-11-02T05:32:08",
      "request-id": "2955c466-f25f-42f5-ba89-4a522c428b70",
      "client-request-id": "2955c466-f25f-42f5-ba89-4a522c428b70"
    }
  }
}

我也尝试在 C# 代码中执行它

var team = new Team
        {
            DisplayName = "My Sample Team558",
            Description = "My Sample Team’s Description558",
            Members = new TeamMembersCollectionPage() {
                new AadUserConversationMember
                {
                    Roles = new List<String>()
                    {
                        "owner"
                    },
                    UserId = "9xxxxxc9-f062-48e2-8ced-22xxxxx6dfce"
                }
            },
            AdditionalData = new Dictionary<string, object>()
            {
                {"template@odata.bind", "https://graph.microsoft.com/v1.0/teamsTemplates('standard')"}
            }
        };
 var result = await graphServiceClient.Teams
            .Request()
            .AddAsync(team);

此异步调用将成功执行,并且还将创建一个新的团队团队,但结果返回 null,这意味着我无法从结果中获取团队 ID。我无法进行下一步,例如添加新频道等。我Microsoft.Graph v3.18.0.0在我的 C# 代码中使用。</p>

更新这是访问令牌 在此处输入图像描述

标签: azuremicrosoft-graph-apimicrosoft-teams

解决方案


我可以很容易地重现您的问题。此错误的原因可能是您未授予必要的权限或未授予管理员对此权限的同意。

在此处输入图像描述

因此,您需要检查您是否已授予必要的应用程序权限,并且权限已授予管理员同意

在此处输入图像描述

在此处输入图像描述

代码:

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var team = new Team
{
    DisplayName = "My Sample Team",
    Description = "My Sample Team’s Description",
    AdditionalData = new Dictionary<string, object>()
    {
        {"template@odata.bind", "https://graph.microsoft.com/v1.0/teamsTemplates('standard')"}
    }
};

await graphClient.Teams
    .Request()
    .AddAsync(team);

推荐阅读