MailJet API - 活动创建中的问题
MailJet API - Issue in Campaign Creation
这是关于 .NET 的 MailJet API - https://dev.mailjet.com/guides/?csharp#prepare-a-campaign
我在尝试创建广告系列时遇到以下错误,
Root = {{
"ErrorInfo": "",
"ErrorMessage": "Invalid json input: expected ",", but found """ at stream position 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
。
任何帮助将不胜感激。提前致谢。
在朋友的帮助下,我找到了解决这个问题的方法。希望这对在 mailjet API 上进行开发的任何人都有帮助。
所以,是的,即使官方文档 (https://dev.mailjet.com/guides/?csharp#prepare-a-campaign) 指示我们使用 Campaigndraft class、
的 'ContactsListID' 属性
.Property(Campaigndraft.ContactsListID, "$ID_CONTACTSLIST")
由于某种原因,它实际上在竞选草案中不可用。
所以,解决方法是使用,
.Property("ContactsListID", contactListId)
表示 "ContactsListID" 值的字符串文字。这是因为,mailjet 中的 Campaigndraft class 只是一个 API 参数名称映射器,class 中可用的所有属性表明参数的多样性可用于制作 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 包缺少的任何参数。
希望这对您有所帮助,谢谢。
这是关于 .NET 的 MailJet API - https://dev.mailjet.com/guides/?csharp#prepare-a-campaign
我在尝试创建广告系列时遇到以下错误,
Root = {{ "ErrorInfo": "", "ErrorMessage": "Invalid json input: expected ",", but found """ at stream position 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
。
任何帮助将不胜感激。提前致谢。
在朋友的帮助下,我找到了解决这个问题的方法。希望这对在 mailjet API 上进行开发的任何人都有帮助。 所以,是的,即使官方文档 (https://dev.mailjet.com/guides/?csharp#prepare-a-campaign) 指示我们使用 Campaigndraft class、
的 'ContactsListID' 属性.Property(Campaigndraft.ContactsListID, "$ID_CONTACTSLIST")
由于某种原因,它实际上在竞选草案中不可用。 所以,解决方法是使用,
.Property("ContactsListID", contactListId)
表示 "ContactsListID" 值的字符串文字。这是因为,mailjet 中的 Campaigndraft class 只是一个 API 参数名称映射器,class 中可用的所有属性表明参数的多样性可用于制作 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 包缺少的任何参数。 希望这对您有所帮助,谢谢。