这与MailJet API for .NET - https://dev.mailjet.com/guides/?csharp#prepare-a-campaign
有关当我尝试创建广告系列时,我收到以下错误
Root = {{ “ErrorInfo”:“”, “ErrorMessage”:“无效的json输入:预期”,“,但在流位置133找到”“”... ctsList“:”| ContactLis ...“, “StatusCode”:400 }}
下面是代码
var client = new MailjetClient(MjApikeyPublic, MjApikeyPrivate){
Version = ApiVersion.V3
};
MailjetRequest request = new MailjetRequest{
Resource = Campaigndraft.Resource,
}.Property(Campaigndraft.Locale, "en_US")
.Property(Campaigndraft.Sender, "Mailjet Dv1")
.Property(Campaigndraft.SenderEmail, "buddhika_jet@outlook.com")
.Property(Campaigndraft.Subject, "Greetings from Mailjet")
.Property(Campaigndraft.ContactsList, "10152")
.Property(Campaigndraft.Title, "Friday newsletter");
response = await client.PostAsync(request);
我对通过的Campaigndraft.ContactsList值表示怀疑。考虑到官方的mailjet文档,参数应该是(Ref - https://dev.mailjet.com/guides/?csharp#prepare-a-campaign),
.Property(Campaigndraft.ContactsListID, "$ID_CONTACTSLIST")
但我在mailjet API版本3或版本3.1中找不到Campaigndraft.ContactsListID
。
任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:1)
我在朋友的帮助下找到了解决这个问题的方法。希望这对于在mailjet API上开发的任何人都有帮助。 所以,是的,即使官方文档(https://dev.mailjet.com/guides/?csharp#prepare-a-campaign)指示我们使用' ContactsListID' Campaigndraft类的财产,
.Property(Campaigndraft.ContactsListID, "$ID_CONTACTSLIST")
由于某种原因,它实际上不适用于Campaigndraft。 所以,解决方法是使用,
.Property("ContactsListID", contactListId)
字符串文字指示" ContactsListID"值。这是因为,mailjet中的Campaigndraft类只是一个API参数名称映射器,该类中可用的所有属性都表明可以使用各种参数进行API调用。
public static class Campaigndraft
{
public const string Sender = "Sender";
public const string Status = "Status";
public const string Subject = "Subject";
public const string Template = "Template";
//...
}
因此,可以使用字符串文字而不是所有上述参数以及缺少官方mailjet包的任何参数。 希望这有所帮助和感谢。