0

我正在尝试将个人记录从我的数据库同步到 mailchimp。我可以更新除电子邮件以外的所有字段。电子邮件我只能更新一次。再次更新时会引发错误。我正在使用他们的 java API。这就是我正在做的 -

emailType = "";
replaceInterests = false; 

mergeVars.put("EMAIL", rs.getString("email"));

Boolean rc = mcServices.listUpdateMember(apiKey, listId, mailChimpId, mergeVars, emailType, replaceInterests);

重新更新的错误消息是 -

com.nwire.mailchimp.MailChimpServiceException: oldEmail@email.com 不是 com.nwire.mailchimp.MailChimpServiceFactory$ClientFactory$1.invoke(MailChimpServiceFactory.java:190) at $Proxy0.listUpdateMember(Unknown Source) at com 的 listName 成员.nwire.mailchimp.test.TestMCList1.updateDetails(TestMCList1.java:121) 在 com.nwire.mailchimp.test.TestMCList1.sync(TestMCList1.java:92) 在 com.nwire.mailchimp.test.TestMCList1.run(TestMCList1 .java:52) 在 com.nwire.mailchimp.test.TestMCList1.main(TestMCList1.java:35)

请注意,错误消息中的 oldEmail@email.com 是 Mailchimp 中的原始电子邮件地址,我已成功更新过一次,但仍显示在重新更新中。

谢谢

4

2 回答 2

0

连同旧的电子邮件地址,即

mergeVars.put("EMAIL", 电子邮件);

您可以通过以下方式定义新的:

mergeVars.put("NEW-EMAIL", new-email);

所以你需要旧地址和新地址来更新它

于 2012-08-24T14:11:15.840 回答
0

我真的不确定您使用的是什么mailChimpId,但这也是电子邮件。因此,如果电子邮件更改,此变量也应该更改。在您的情况下,它将如下所示:

String email = rs.getString("email");
mergeVars.put("EMAIL", email);
Boolean rc = mcServices.listUpdateMember(apiKey, listId, email, mergeVars, emailType, replaceInterests);

我希望这会有所帮助(我编写了这个 Java 包装器,这在我的服务器上运行良好)。

于 2010-11-10T08:06:41.247 回答