2010-11-10 76 views
0

我試圖將我的數據庫中的人員記錄同步到mailchimp。我可以更新除電子郵件外的所有字段電子郵件我只能更新一次。再次更新它會引發錯誤。我正在使用他們的Java API。這是我在做什麼 -使用Mailchimp API更新Mailchimp中的電子郵件地址

emailType = ""; 
replaceInterests = false; 

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

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

錯誤消息對reupdating是 -

com.nwire.mailchimp.MailChimpServiceException:[email protected]不在com.nwire LISTNAME 的成員。 mailchimp.MailChimpServiceFactory $ ClientFactory $ 1.invoke(MailChimpServiceFactory.java:190) 在$ Proxy0.listUpdateMember(來源不明) 在com.nwire.mailchimp.test.TestMCList1.updateDetails(TestMCList1.java:121) 在com.nwire .mailchimp.test.TestMCList1.sync(TestMCList1.java:92) at com.nwire.mailchimp.test.TestMCList1.run(TestMCList1.java :52) at com.nwire.mailchimp.test.TestMCList1.main(TestMCList1.java:35)

請注意,錯誤消息中的[email protected]是Mailchimp中的原始電子郵件地址,我已成功更新一次,但仍顯示在reupdations。

感謝

回答

0

我真的不知道你用的是什麼作爲mailChimpId,但這是電子郵件也是如此。所以,如果電子郵件發生變化,這個變量也應該改變。在你的情況下,它看起來就像這樣:

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

我希望這有助於(我寫了這個Java包裝,這只是正常我的服務器上)。

+0

謝謝..但我不認爲這個工程。因爲Mailchimp如何知道哪些聯繫人的電子郵件必須更改(我們只是傳遞更新的電子郵件,而不是通過mailchimp存儲的電子郵件)。我正在使用mailchimpId - 由mailchimp分配給每個聯繫人的唯一ID。 – gaurav 2010-11-10 22:42:09

+0

我會建議使用MailChimp API支持組。 http://groups.google.com/group/mailchimp-api-discuss。你也可以發郵件給他們的支持。 – zvikico 2010-11-11 05:29:12

0

隨着舊的電子郵件地址即

mergeVars.put( 「EMAIL」,郵件);

定義下列方式新一:

mergeVars.put( 「NEW-EMAIL」,新的電子郵件);

所以,你需要同時舊的和新的地址在ORER更新它

+0

雖然在我的情況下我使用PHP,你不應該同時使用EMAIL和NEW-EMAIL。 「舊電子郵件」是通過「email_address」鍵,然後您可以使用merge_vars ['EMAIL']或merge_vars ['NEW-EMAIL']來更新用戶地址。我對你的答案的理解是你必須同時擁有兩個[這是不正確的](https://twitter.com/MailChimp_API/status/351674145609748480)。 – alexleonard 2013-07-05 01:44:48

相關問題