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

如何在C#中使用API Key调用Campaign Monitor API添加订阅者(解决401错误)

解决Campaign Monitor API 401未认证问题(添加订阅者场景)

嘿,这个401错误的原因很明确——你的请求完全没带上身份验证信息,Campaign Monitor API认不出你是谁,所以直接拒绝了请求。别担心,我一步步教你怎么用API Key搞定认证:

核心问题:缺少Basic Authentication头

Campaign Monitor API要求用Basic认证验证身份,规则特别简单:

  • 把你的API Key作为「用户名」
  • 「密码」可以留空(或者随便填个字符串,服务器不会校验这部分)
  • 把{你的API Key}:这个字符串(注意末尾的冒号)转换成Base64编码,然后放到请求头的Authorization字段里

修改你的C#代码

这里给你两种可行的修改方式,选一种就行:

方式1:直接添加Authorization请求头

using (var client = new HttpClient())
{
    // 1. 替换成你自己的真实API Key
    string apiKey = "your-real-api-key-here";
    // 2. 生成Basic认证所需的Base64编码字符串
    string encodedAuth = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{apiKey}:"));
    
    // 3. 给HttpClient添加认证头
    client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", encodedAuth);
    
    // 4. 保留你原有的请求逻辑(记得替换LISTID为真实的订阅列表ID)
    var response = await client.PostAsync(
        "https://api.createsend.com/api/v3.1/subscribers/LISTID.json",
        new StringContent(senderInfo, Encoding.UTF8, "application/json")
    );
    
    // 可以加个简单的响应检查,方便调试
    if (response.IsSuccessStatusCode)
    {
        Console.WriteLine("订阅者添加成功!");
    }
    else
    {
        string errorDetail = await response.Content.ReadAsStringAsync();
        Console.WriteLine($"请求失败:{response.StatusCode} - {errorDetail}");
    }
}

方式2:使用HttpClientHandler设置Credentials

如果你更喜欢用.NET内置的凭证机制,也可以这么写:

var handler = new HttpClientHandler
{
    Credentials = new NetworkCredential("your-real-api-key-here", "") // 密码留空即可
};

using (var client = new HttpClient(handler))
{
    var response = await client.PostAsync(
        "https://api.createsend.com/api/v3.1/subscribers/LISTID.json",
        new StringContent(senderInfo, Encoding.UTF8, "application/json")
    );
    
    // 同样可以添加响应调试代码
}

额外检查项

除了认证,再确认这两点避免踩坑:

  • 确保LISTID是你目标订阅列表的真实ID(可以在Campaign Monitor后台的列表设置页面找到)
  • 你的JSON数据格式是对的,"Email Address"和"Name"都是API要求的合法字段,没问题

这样修改后,应该就能成功添加订阅者啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:53:19