MailChimp 与 asp.net 的集成

本文关键字:集成 net asp MailChimp | 更新日期: 2023-09-27 18:35:24

我遇到了mailChimp的问题,我与HttpWebRequest进行了PUT呼叫,以从列表中取消订阅用户,它工作正常,但我对状态为unsubscribed POST呼叫所做的同样的事情,然后它也有效。那么我应该拨打哪个电话来取消订阅呢?

HttpWebRequest 标头中添加了 mailChimp API 键的示例代码:

string subscriberEmail = "XXXXXX";
//Create JSON Object for sending to MailChimp
var subscribeRequest = new
{
    status = "unsubscribed",
    email_address = subscriberEmail, //E-Mail
 };
var requestJson = serializer.Serialize(subscribeRequest);
HttpWebRequest httpWebRequest =(HttpWebRequest)HttpWebRequest.Create(https://XXX.api.mailchimp.com/3.0/lists/XXXXXX/members");
httpWebRequest.Method = "POST";    
httpWebRequest.ContentType = "text/json";                               
httpWebRequest.Accept = "text/json";

MailChimp 与 asp.net 的集成

这里

不是关于选择什么的硬性规定,而是解释为什么两个动词都有效。

许多 API 提供程序支持 PUT 和 POST 谓词的相同操作。

在纯 REST 术语中,这些动词具有用于创建新资源的 POST 和用于更新资源的 PUT 的特定准则。

但在大多数现实世界的 API 中,遵循 100% REST 准则与提供面向操作的 API 之间的界限模糊不清,例如(取消订阅、取消等)

在这种情况下,使用POST还是PUT真的无关紧要,因此许多API提供商都为两者提供支持。在内部,它们往往总是通过相同的代码路径,因此在这两种情况下您应该看到相同的行为。

当 PUT 和 POST 都可用于面向操作的 API(取消订阅、取消等)时我见过人们更喜欢 POST 动词,因为它在非只读 API 上更直观、更自然。

但实际上没有硬性规定,所以无论你决定什么,都要坚持下去。