【问题标题】:Odata.bind error when creating a team with microsoft graph使用 microsoft graph 创建团队时出现 Odata.bind 错误
【发布时间】:2020-06-03 13:28:17
【问题描述】:

我正在使用带有 .net 核心的 miscrosoft graph 在 Microsoft Teams 中创建一个团队。但是当我发送创建团队的请求时,我总是收到一条错误消息:

请求中的绑定属性名称模板无效。

为此,我按照此处文档中要求的步骤操作:https://docs.microsoft.com/en-us/graph/api/team-post?view=graph-rest-beta&tabs=csharp#example-4-create-a-team-from-group

我已经尝试了一些来自 Microsoft 文档的示例,包括 v1.0 和 beta 版本。

我的组创建如下所示:

        {
            var email = groupName.ToLower().Replace(" ", "_");
            //Create a new object group
            Group group = new Group
            {
                DisplayName = groupName,
                GroupTypes = new List<string>()
                {
                    "Unified",
                },
                MailEnabled = true,
                MailNickname = email,
                SecurityEnabled = false,
                AdditionalData = additionnalData,
            };

附加数据为:

           var additionalData = new Dictionary<string, object>()
            {
                {"members@odata.bind", new List<string>()},
                {"owners@odata.bind", new List<string>()}
            };
            (additionalData["members@odata.bind"] as List<string>).Add(TeamsApi.GetUserOData(ownerEmail));
            (additionalData["owners@odata.bind"] as List<string>).Add(TeamsApi.GetUserOData(ownerEmail));

我的团队创建如下所示:

            Team team = new Team
            {
                AdditionalData = new Dictionary<string, object>()
                {
                    {"group@odata.bind",$"https://graph.microsoft.com/v1.0/groups({newGroupId})"},
                    {"template@odata.bind","https://graph.microsoft.com/beta/teamsTemplates('standard')"},
                },

            };
            return await GraphClient.Groups[newGroupId].Team.Request().PutAsync(team);

所以这是我的问题:我做错了什么?是语法错误吗?在哪里可以找到有关 Odata.bind 的文档?

【问题讨论】:

    标签: .net-core microsoft-graph-api microsoft-graph-sdks microsoft-graph-teams


    【解决方案1】:

    我用这个post解决了我的问题

    我为每个创建的对象添加了一个属性ODataType = null

    Team team = new Team
    {
        ODataType = null,
        Channels = new TeamChannelsCollectionPage(),
    };
    
    Channel general = new Channel
    {
        DisplayName = "Général",
        ODataType = null
    };
    
    team.Channels.Add(general);
    
    return await GraphClient.Groups[newGroupId].Team.Request().PutAsync(team);
    

    【讨论】:

      猜你喜欢
      • 2020-05-10
      • 1970-01-01
      • 2020-07-31
      • 2013-10-25
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      • 2021-05-22
      • 1970-01-01
      相关资源
      最近更新 更多