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

使用RestSharp调用GetResponse API添加联系人遇400错误求助

解决GetResponse API添加联系人时的400 Bad Request问题

嘿,我帮你排查了下代码里的问题,HTTP 400错误基本上是请求格式不符合API要求导致的,你的代码里有几个明显的矛盾点,咱们一步步来修正:

核心问题分析

  • 请求格式混乱:你同时准备了JSON序列化对象,又手动构造了application/x-www-form-urlencoded的请求体,但GetResponse v3 API只接受JSON格式的请求,这直接让API无法解析你的请求,返回400。
  • Campaign ID不统一:代码里出现了好几个不同的Campaign ID(IDss6604303、ID85104303、注释里的ee104303),这会导致API找不到对应的活动列表,也是报错的潜在原因。
  • 请求头配置缺失:你没设置正确的Content-Type头,API不知道你发的是JSON数据。

修正后的完整代码

控制器代码(修复版)

string email = "test@gmail.com";
// 替换成你要添加的"liakat"活动的真实ID,或者测试用的"pikaa"的ee104303
string targetCampaignId = "ee104303";
// 替换为你的有效API密钥
string apiKey = "948dsdfsdfs1a017a07f3c6";

var client = new RestClient("https://api.getresponse.com/v3/contacts");
var request = new RestRequest(Method.POST);

// 配置必要的请求头:认证令牌和JSON格式声明
request.AddHeader("X-Auth-Token", $"api-key {apiKey}");
request.AddHeader("Content-Type", "application/json");

// 构造符合API要求的请求体对象
var contactPayload = new RootObject
{
    name = "Mr Men",
    email = email,
    campaign = new Campaign { campaignId = targetCampaignId }
};

// 用RestSharp自带的方法添加JSON请求体,不用手动序列化
request.AddJsonBody(contactPayload);

var response = client.Execute(request);

// 调试时可以打印响应内容,API会返回具体的错误信息(如果还有问题)
Console.WriteLine("响应状态码:" + response.StatusCode);
Console.WriteLine("响应内容:" + response.Content);

模型代码(保持不变即可)

public class Campaign 
{ 
    public string campaignId { get; set; } 
} 

public class RootObject 
{ 
    public string name { get; set; } 
    public string email { get; set; } 
    public Campaign campaign { get; set; } 
}

额外调试小技巧

  • 如果还是报错,一定要看response.Content里的内容,GetResponse的API会告诉你具体是哪个字段错了(比如邮箱格式不对、Campaign ID不存在)
  • 可以先调用GET https://api.getresponse.com/v3/campaigns接口,确认你用的Campaign ID确实对应"liakat"活动
  • 确保你的API密钥有创建联系人的权限,别用只读权限的密钥

内容的提问来源于stack exchange,提问作者Kevin himch

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:41:00