【问题标题】:How to add team members in MS Team using Graph API?如何使用 Graph API 在 MS Team 中添加团队成员?
【发布时间】:2018-05-13 15:51:22
【问题描述】:

我正在使用 Microsoft Graph API 创建团队并在 MS Teams 中添加团队成员。我也在关注这个documentation

这是我为实现整体行为所做的工作:

  1. 创建 Office 365 组。这里没有问题。
  2. 在步骤 1 中创建的组下创建一个 MS Team。这也可以正常工作。
  3. 将成员添加到在步骤 1 中创建的 office 365 组。效果很好。
  4. 添加与步骤 2 中创建的 MS Team 中的团队成员相同的成员。不起作用。

我正在使用以下代码添加团队成员:

public static void AddMemberToTeam(string userId, string groupId) 
{
            var endpoint = $"{GRAPH_ROOT_URI}groups/{groupId}/members/$ref";
        var content = new Member { ODataId = $"{GRAPH_ROOT_URI}directoryObjects/{userId}" };
            var request = new HttpRequestMessage(HttpMethod.Post, endpoint);
            request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", TOKEN);
            request.Content = new StringContent(JsonConvert.SerializeObject(content), Encoding.UTF8, "application/json");
            var client = new HttpClient();
            var response = client.SendAsync(request).Result;
}

虽然最后一条语句返回的响应与文档一致(204 No Content),但成员并没有被添加到团队中。我在 Ms Teams 图形 API 的社区中找不到太多帮助。

Documentation添加团队成员:

PS:我使用的是 Office 365 开发者帐户,并且我已将所有需要的权限授予管理员用户。

【问题讨论】:

    标签: office365 microsoft-graph-api microsoft-teams


    【解决方案1】:

    您收到 Not Found 错误,因为在 Json Payload 中您传递的是 ODataId,而 API 调用期望它是 @odata.id。

    这里有两种可能的解决方案:

    1. 更新内容如下:

      var contentJSON = $"{{ \"@odata.id\": \"https://graph.microsoft.com/beta/directoryObjects/{userId}\" }}";
      request.Content = new StringContent(contentJSON, Encoding.UTF8, "application/json");
      
    2. 您可以更新您的类集 @odata.id 作为 Json 属性名称:

          class Member
      {
          [JsonProperty("@odata.id")]
          public string ODataId { get; set; }
      }
      

    【讨论】:

    • 感谢您的回答,但我使用的类定义与您在选项 2 中提到的完全相同。但是,从开发人员帐户切换到许可的 Office 365 帐户后,该问题似乎得到了解决。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多