Jestem aktualny za pomocą Microsoft Wykres API (Beta), aby uzyskać status obecności np. Online, Away itp. W Webpart SPFX (za pomocą Reaction) za pomocą GrbClient:

this.props.context.msGraphClientFactory.getClient().then(async (client: MSGraphClient) => {
    let response = await client
      .api('/communications/getPresencesByUserId')
      .version('beta')
      .post(postData)
      console.log("Communication API Response: "+ response);
    this.usersWithPresence = response.value;
});

Praca w porządku, ale aby uzyskać zaktualizowany status użytkownika, muszę odświeżyć stronę, więc kolejne połączenie API jest wykonane i zaktualizowany status obecności. Chcę to zrobić tak, jak to dzieje się w "Skype" .

To, czego potrzebuję, to sugestie dotyczące mechanizmu, o którym mogę złożyć aktualizacje w czasie rzeczywistym w stanie obecności użytkownika, więc jak tylko użytkownik Aktualizacje Status To jest odzwierciedlone w mojej stronie internetowej. Wiem, że mogę użyć setInterval lub setTimeout Funkcje na żądanie na status obecności Po określonych odstępach czasu, ale do celów uczenia się nie chcę Poproś o API w ten sposób i ponownie, ale raczej zaktualizowany Wiadomość z serwera, tak jak to dzieje się przy użyciu gniazd . Jak sieć Socket Sort Stuff może być stosowany z tym API?

Twoje sugestie są mile widziane.

0
Muhammad Murad Haider 19 marzec 2020, 08:24

1 odpowiedź

Najlepsza odpowiedź

Dziś ten interfejs API nie obsługuje żadnego rodzaju mechanizmu subskrypcji, gdy zmienia się status. Istnieje Wejście Uservoice Możesz pod uwagę na to. Oznacza to jedyny sposób na uzyskanie zmian, jest okresowo ankiety. Jeśli chodzi o Socket IO, jedynym wsparciem jest dzisiaj dla list SharePoint, dla każdego innego zasobu, musisz wstać własną infrastrukturę, aby przekazać wiadomość.

1
baywet 19 marzec 2020, 11:41