You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C# HttpClient实现Dynamics CRM团队成员增删及用户ID传递

在C#中用HttpClient操作Dynamics CRM团队成员增删

一、添加团队成员(AddMembersTeam)

你之前的URI格式有误,正确的Web API调用方式是直接POST到动作端点,不需要通过teams实体导航属性拼接。正确的请求地址为:
/api/data/v9.2/AddMembersTeam

请求要求

  • 请求方法:POST
  • 请求头:需携带Content-Type: application/json,以及Dynamics CRM的身份验证头(如Bearer令牌)
  • 请求体:传入TeamId(目标团队GUID)和MemberIds(待添加用户GUID数组),JSON格式如下:
{
  "TeamId": "目标团队的GUID字符串",
  "MemberIds": ["用户1的GUID", "用户2的GUID"]
}

C#代码示例

using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

public async Task AddTeamMembers(string crmApiBaseUrl, string accessToken, string teamId, string[] targetUserIds)
{
    var requestPayload = new
    {
        TeamId = teamId,
        MemberIds = targetUserIds
    };

    string jsonBody = JsonConvert.SerializeObject(requestPayload);
    var requestContent = new StringContent(jsonBody, Encoding.UTF8, "application/json");

    using (var httpClient = new HttpClient())
    {
        httpClient.BaseAddress = new Uri(crmApiBaseUrl);
        httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);

        HttpResponseMessage response = await httpClient.PostAsync("api/data/v9.2/AddMembersTeam", requestContent);
        response.EnsureSuccessStatusCode(); // 若返回错误状态码则抛出异常
    }
}

二、删除团队成员(RemoveMembersTeam)

删除成员的逻辑与添加一致,使用RemoveMembersTeam动作端点,请求体结构相同,传入待移除的用户GUID数组即可:

正确的请求地址为:
/api/data/v9.2/RemoveMembersTeam

C#代码示例

public async Task RemoveTeamMembers(string crmApiBaseUrl, string accessToken, string teamId, string[] targetUserIds)
{
    var requestPayload = new
    {
        TeamId = teamId,
        MemberIds = targetUserIds
    };

    string jsonBody = JsonConvert.SerializeObject(requestPayload);
    var requestContent = new StringContent(jsonBody, Encoding.UTF8, "application/json");

    using (var httpClient = new HttpClient())
    {
        httpClient.BaseAddress = new Uri(crmApiBaseUrl);
        httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);

        HttpResponseMessage response = await httpClient.PostAsync("api/data/v9.2/RemoveMembersTeam", requestContent);
        response.EnsureSuccessStatusCode();
    }
}

关键注意事项

  • 权限验证:确保Bearer令牌拥有足够的操作权限(如prvWriteTeam、prvReadTeam)
  • GUID格式:所有传入的ID必须是有效的Dynamics CRM实体GUID字符串,格式需正确(例如"12345678-1234-1234-1234-1234567890AB")
  • 版本匹配:确认API版本(如v9.2)与你的CRM环境版本一致
  • 格式检查:若仍出现语法错误,优先排查请求体的JSON格式是否存在多余逗号、引号缺失等问题

内容的提问来源于stack exchange,提问作者Swetha V

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 04:15:29