gpt4 book ai didi

python - 如何在Python中使用Mailchimp3取消订阅/删除列表成员?

转载 作者:太空宇宙 更新时间:2023-11-03 15:40:36 24 4
gpt4 key购买 nike

我正在使用mailchimp3在Python中。我设法使用此功能批量插入用户:

client = MailChimp(USERNAME, APIKEY)
def fill_list(list_id, subscribers_data):
data = {'operations': create_subscriptions_data(list_id, subscribers_data)}
client.batches.create(data)

def create_subscriptions_data(list_id, users_data):
return [{'method': 'PUT',
'path': 'lists/{}/members/{}'.format(list_id, str(md5(user['email_address'].encode('utf-8')))),
'body': json.dumps(user)} for user in users_data]

这是一个用户字典的样子:

{"email_address": "user@somemail.com", "status": "subscribed"}

然后我想使用类似的方法来取消订阅用户列表。为了实现这一目标,我尝试使用相同的逻辑,只是为了更改用户对象。现在,我使用了这个用户格式:

{"email_address": "user@somemail.com", "status": "unsubscribed"}

它不会更新订阅状态。当我手动删除所有用户(使用网络界面)并尝试相同的命令时,我成功创建了“状态”:“取消订阅”的用户。我想知道为什么这种方法不能改变状态?我也尝试使用 POST 而不是 PUT,但它不起作用。知道可能是什么问题吗?

我使用了这个引用https://devs.mailchimp.com/blog/batch-operations-and-put-in-api-v3-0/并且它提到这种方法也应该适用于更新。

提前谢谢您!

最佳答案

取消订阅已订阅用户的唯一方法是使用列表 ID 和列表成员电子邮件地址小写版本的 MD5 哈希进行更新。

client.lists.members.update('LIST_ID', 'MD5 HASH', {"status": "unsubscribed"})

关于python - 如何在Python中使用Mailchimp3取消订阅/删除列表成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42175544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com