2015-01-02 3 views
0

Я использую этот рельсовый жемчуг для доступа к API Mailchimp. https://bitbucket.org/mailchimp/mailchimp-api-rubyОтключить элементы интерфейса Mailchimp API

mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY']) 

Мой список насчитывает 59 членов, и я могу подтвердить, что из

newsletter_members = mailchimp.lists.members(listID)['total'] 

, но когда я пытаюсь получить доступ к хэш данных, он возвращает только 25 объектов?

newsletter_members = mailchimp.lists.members(listID)['data'].size 

Любые идеи относительно того, почему?

Я в основном пытаюсь найти, если адрес электронной почты существует в моем почтовом списке шимпанзе и этот код нарушает, потому что я не получаю все член

mailchimp = Mailchimp::API.new(ENV['MAILCHIMP-API-KEY']) 
listID = 'my-list-id' 
email_array = [] 
newsletter_members = mailchimp.lists.members(listID)['data'] 
# the email array is cut short..not getting all members 
newsletter_members.each do |member| 
    email_array << member['email'] 
end 
#returns true or false 
member_exists = email_array.include?(user_email) 

ответ

2

API по умолчанию Mailchimp для возврата 25 элементов одновременно. Вы можете запросить больше (хотя предел равен 100), или вы можете сделать несколько запросов для «страниц» результатов.

Чтобы запросить 100 результатов:

mailchimp.lists.members(listID, 'subscribed', {limit: 100}) 

просить следующую страницу результатов (иметь в виду, первую страницу (результаты 1-25) равна 0, второй (26-50) 1, и т.д.):

mailchimp.lists.members(listID, 'subscribed', {start: 1}) # Then to get 51-75 you'd start at 2   

Смотрите source code для обзора имеющихся вариантов.

Вы также можете посмотреть на Mailchimp's API docs для списков/членов конечной точки, чтобы увидеть доступные варианты, по умолчанию и т.д.

+0

я думаю, лучше спросить ... что это самый оптимальный способ проверить, если адрес электронной почты уже существует в списке участников? В идеале я хотел бы запустить простой запрос по набору данных –

Смежные вопросы