gpt4 book ai didi

python - 如何使用 Mailchimp API 3.0 从用户或兴趣中获取超过 10 个条目?

转载 作者:太空狗 更新时间:2023-10-29 22:11:01 24 4
gpt4 key购买 nike

我在 mailchimp 中有一些列表,其中一些有数千名用户,其中一位代表建议我合并我的一些列表并使用“组”(又名兴趣)来定位特定受众。

我有一个“兴趣类别”,其中包含 40 多个不同的兴趣,我想在名称旁边获取他们的 ID,以便我可以通过 API 订阅用户并将他们添加到正确的“组/兴趣”。

我非常接近获得兴趣以及他们的名字,但文档没有说明增加条目数量或进入下 10 个。 http://kb.mailchimp.com/api/resources/lists/interest-categories/interests/lists-interests-collection

如果这有帮助的话,这就是我用来提升兴趣的代码。(用 Python 编写并使用“请求”库)

import requests
print "Name\tID"
r = requests.auth.HTTPBasicAuth('x', '00000000000000000000000000000-us4')
interest_categories_raw = requests.get('http://us4.api.mailchimp.com/3.0/lists/0000000000/interest-categories/', auth=r)
interest_categories = json.loads(interest_categories_raw.content)
for category in interest_categories['categories']:
url = 'http://us4.api.mailchimp.com/3.0/lists/0000000000/interest-categories/{0}/interests'.format(str(category['id']))
interests = json.loads(requests.get(url, auth=r).content)
for interest in interests['interests']:
print "{0}\t{1}".format(interest['name'],interest['id'])

有什么方法可以获取其余的“兴趣/群组”,包括名称和 ID,以便我可以正确分配它们?(除了上传测试用户和修补他们的兴趣数据以及检查网站以查看他们被添加到哪些组之外的任何方式)

最佳答案

在 TooMuchPete 的评论中,他提到 getting started文件提到分页。 Mailchimp 的 API 使用“count”和“offset”进行分页。它们是添加到 URL 末尾的参数。 Count 是每页的项目数量,Offset 是从页面开始的距离(offset=0 将从第一个条目开始)。所以网址

https://us4.api.mailchimp.com/3.0/lists/XXXXXXXXXX/members/?count=5&offset=10

将从第 11 项开始获得 5 项(“第 3 页”,第 11 - 16 项)

在 TooMuchPete 的评论之前,我用这个回答了我自己的问题:

我根据与其名称匹配的兴趣 ID 找到了我要查找的内容。用户对象已经在一个数组中具有所有兴趣 ID,而不是按类别查找 ID,我只是使用 ID 来查找他们的名称倒退。对于将来可能遇到相同问题的任何人,这是我编写的用于查找具有 ID 的名称的代码片段:

import requests
print "ID\tName"
r = requests.auth.HTTPBasicAuth('x', '00000000000000000000000000000000-us4')
interest_categories_raw = requests.get('http://us4.api.mailchimp.com/3.0/lists/0000000000/interest-categories/', auth=r)
interest_categories = json.loads(interest_categories_raw.content)

# List of all the interest IDs. Can be found from any user
# https://us4.api.mailchimp.com/3.0/lists/0000000000/members/000000000000000000000000
interest_ids = ["00000000000", "0000000000"]

for i_id in interest_ids:
for category in interest_categories['categories']:
url = 'http://us4.api.mailchimp.com/3.0/lists/0000000000/interest-categories/{0}/interests/{1}'.format(str(category['id']), str(i_id))
raw_response = requests.get(url, auth=r)
if raw_response.status_code != 404:
interest = json.loads(raw_response.content)
print interest['id'] + "\t" + interest['name']

此代码将查找所有名称并将它们与列表中的所有 ID 匹配。如果有人找到更好的方法将名称与 ID 匹配,请将其添加到此答案中。

关于python - 如何使用 Mailchimp API 3.0 从用户或兴趣中获取超过 10 个条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30654697/

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