1

我正在使用一个函数,clientmailchimp.lists.members.all,它返回一个最多包含 1000 个成员的字典列表(该函数有一个偏移量参数,默认情况下为 0)。得到这本字典后,我想要我的 subscribedmembersid 列表中的 ID 值。

subscribedmembers = clientmailchimp.lists.members.all(count=1000 )   
subscribedmembersid = [id['id'] for id in subscribedmembers['members']]

对于 <1000 的结果,此函数有效,但当返回值 >1000 时,我将不得不使用偏移参数 offset=1000 来获取列表的第二块。如何使用将块附加到空列表中的 While 循环来执行此操作?

我尝试了这样的事情,但不确定我是否正确地执行了循环

subscribedmemberslist = []
offset = 0

while len(subscribedmembersid) > 1000 :
    subscribedmembers = clientmailchimp.lists.members.all(count=1000, offset=offset)
    subscribedmembersid = [id['id'] for id in subscribedmembers['members']]
    offset =+ 1000
    subscribedmemberslist.append(subscribedmembersid)

我只是期待一份所有成员的名单。

4

1 回答 1

0

get_all参数设置为True将忽略offsetcount参数并返回完整的成员集,而无需循环遍历成员并每次发出新请求。

例如client.lists.members.all(list_id='', get_all=True)

您也可以制作自己的分页方法,但您需要找出成员总数以确定提供的计数可以获得的页面数(例如,如果有 5000 个成员,计数 1000 您将有 5 个页面, 你只需将偏移量移动 1000)

于 2019-08-06T06:09:20.870 回答