5

Korzystam z subaru punktowego, aby subskrybować usługę powiadamiania o wymianie Microsoft. Do tej pory udało mi się zasubskrybować pojedynczy folder przy użyciu metody subskrypcji: https://github.com/WinRb/Viewpoint/blob/bcda30abdab99f52270f2c24a1c78364c986d967/lib/ews/soap/exchange_notification.rbEWS rubinowy punkt widzenia wsad subskrybuj powiadomienia wypychania

Próbowałem przekazać wiele skrótów z różnymi identyfikatorami folderów, które należą do różnych kont na tym samym serwerze.

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}] 
) 

Otrzymuję odpowiedzi od ews, ale tylko dla pojedynczego folderu kalendarza.

Czy ktoś wie, jak wsadowo subskrybować wiele skrzynek pocztowych na tym samym serwerze, aby otrzymywać powiadomienie wsadowe wsadowe z serwera ews zamiast otrzymywać po jednym dla każdej subskrypcji?

Dziękujemy

Odpowiedz

1

Chciałbym iteracji przez to. W zależności od miejsca przechowywania identyfikatorów:

@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 

Nie testowano, ale powinno to wystarczyć. Po prostu powtórz identyfikatory.

+0

Mam tysiące użytkowników, jeśli zapiszę się w ten sposób, otrzymam tysiące odpowiedzi ews co minutę. Zastanawiałem się, czy istnieje lepszy sposób? – Richardlonesteen