5

Я использую драгоценный камень точки зрения, чтобы подписаться на службу уведомлений об обмене Microsoft. До сих пор мне удалось подписаться на одну папку, используя метод subscribe: https://github.com/WinRb/Viewpoint/blob/bcda30abdab99f52270f2c24a1c78364c986d967/lib/ews/soap/exchange_notification.rbEWS ruby ​​viewpoint пакетная подписка push push

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

client.ews.subscribe(
[{ :push_subscription_request => { 
    :folder_ids => [{id: calendar[:id], change_key: calendar[:change_key]}], 
    :subscribe_to_all_folders => true, 
    :event_types=> %w{CopiedEvent CreatedEvent DeletedEvent MovedEvent}, 
    :status_frequency => 1, 
    :uRL => 'https://51.ngrok.io/ews_watch', 
}, 
{same again with different calendar ids}] 
) 

Я получаю ответы от ews, но только для одной папки в календаре.

Кто-нибудь знает, как подписаться на несколько почтовых ящиков на одном сервере, чтобы я получал пакетное push-уведомление от сервера ews вместо того, чтобы получать по одному для каждой подписки?

Спасибо

ответ

1

Я бы перебрал через него. В зависимости от того, где хранятся идентификаторы:

@client.ews.subscribe.each do |ces| 
ces([{ :push_subscription_request => { 
    :folder_ids => [{id: calendar[:id], change_key: calendar[:change_key]}], 
    :subscribe_to_all_folders => true, 
    :event_types=> %w{CopiedEvent CreatedEvent DeletedEvent MovedEvent}, 
    :status_frequency => 1, 
    :uRL => 'https://51.ngrok.io/ews_watch', 
}]) 
end 

Не указано, но это должно сделать трюк. Просто перебирайте идентификаторы.

+0

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

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