Jak zbudować aplikację z obsługą Teams za pomocą Power Apps

Kilka miesięcy temu, Microsoft dodał funkcję przesyłania informacji kontekstowych z zespołu lub kanału do Power Apps. To duże ulepszenie dla programistów, którzy opracowują aplikacje do wykorzystania w Microsoft Teams. Aplikacje można teraz tworzyć na podstawie wcześniejszej wiedzy o tym, gdzie jest hostowana, jej rozmiarze, typie klienta, motywie i nie tylko. 

Autor tekstu: Haniel Croitoru 

Poszukujesz informacji o Power Apps? Sprawdź nasze ostatnie artykuły na ten temat: 

Kilka miesięcy temu Microsoft dodał funkcję przesyłania informacji kontekstowych z zespołu lub kanału do Power Apps. To duże ulepszenie dla programistów, którzy opracowują aplikacje do wykorzystania w Microsoft Teams. Aplikacje można teraz tworzyć na podstawie wcześniejszej wiedzy o tym, gdzie jest hostowana, jej rozmiarze, typie klienta, motywie i nie tylko. Aby zapoznać się z pełną listą parametrów, przeczytaj mój artykuł na temat tworzenia aplikacji zaawansowanych z obsługą Teams. Po utworzeniu aplikacji można ją wyeksportować z portalu producenta i zaimportować do aplikacji Teams w celu wykorzystania przez użytkowników. 

Jednym z wyzwań, jakie mogą napotkać programiści podczas tworzenia aplikacji, jest uzyskiwanie informacji kontekstowych usługi Teams podczas programowania i testowania. Chociaż parametry kontekstowe są dostępne w usłudze Teams, brakuje tych danych poza usługami Teams. Jednym ze sposobów obejścia tego problemu jest sprawdzenie, skąd ładowana jest aplikacja, a następnie odpowiednia odpowiedź. Oto jak. 

Zacznij od Źródła 

Najprostszym sposobem ustalenia, czy aplikacja jest uruchamiana z poziomu aplikacji Teams, czy nie, jest sprawdzenie przekazanego parametru źródłowego. Parametr może mieć jedną z czterech wartości: 

Patrząc na odpowiednią wartość, możemy następnie wybrać sposób obsługi określonych scenariuszy. 

Użyj zmiennej do przechowywania wartości parametrów 

Kiedy przechowujemy wartości parametrów w zmiennych, możemy łatwo odwoływać się do nich bez martwienia się o to, jak je otrzymamy. Możemy użyć następującego wyrażenia w OnStart (), aby wiedzieć, jak postępować: 

Set(source, Param(“source”)); 

If(source = “teamstab”, 

Set(selectedTeam, Param(“teamId”)); 

Set(selectedChannel, Param(“channelId”)); 

Ustawianie parametrów Microsoft Teams w czasie życia programu 

Na etapie tworzenia programiści muszą przetestować swoją aplikację przy użyciu wszystkich możliwych kombinacji danych wejściowych, aby upewnić się, że będzie działać zgodnie z oczekiwaniami. Możemy rozszerzyć powyższy przykład, aby nie tylko określić, czy aplikacja jest uruchamiana z poziomu Microsoft Teams, czy nie, ale także pozwolić deweloperowi na wybranie określonych parametrów wejściowych i sprawdzenie, jak aplikacja będzie się zachowywać. 

Zwykle lubię programować taki panel debugowania mojej aplikacji, który jest widoczny tylko w określonych okolicznościach. W tym scenariuszu wykorzystuję ten sam parametr źródłowy, aby określić, czy panel powinien być widoczny, czy nie. 

Teraz wyrażenie OnStart () przyjmuje postać: 

Set(source, Param(“source”)); 

Set(debug, If(source <> “teamstab”, true,false)); 

ClearCollect(groups, MicrosoftTeams.GetAllTeams().value); 

// Preload channel and team if the data exists 

If(source = “teamstab”, 

Set(selectedGroup,MicrosoftTeams.GetTeam(Param(“groupId”))); 

Collect(channels,MicrosoftTeams.GetChannelsForGroup(selectedGroup.id).value); 

Set(selectedChannel,LookUp(channels,id = Param(“channelId”))); 

W tym scenariuszu włączam tryb debugowania, gdy źródłem nie jest teamstab (tj. wewnątrz zespołowe). Następnie zamiast tylko ustawiać zmienne selectedGroup i selectedChannel jako ID, używam łącznika Microsoft Teams do pobierania informacji o zespołach i kanałach. 

Sam panel będzie się różnić w zależności od przypadków użycia aplikacji, ale zazwyczaj zapewnia użytkownikom opcję wyboru zespołu, kanału i innych ustawień. 

Testowanie 

Jeśli jesteś zadowolony z rozwiązania i chcesz je przetestować, możesz to zrobić w przeglądarce po opublikowaniu aplikacji. Wszystko, co musisz zrobić, to zmienić źródło na teamstab i dołączyć parametry do adresu URL w przeglądarce. W moim scenariuszu używałem tylko zespołu i kanału, więc musiałem dołączyć groupId i channelId

https://apps.powerapps.com/play/{appid}?tenantId={tenantid}&source=teamstab&groupId={groupId} &channelId={channelId}

(UWAGA: nie daj się zmylić łącznikiem Microsoft Teams. Akcja GetTeam () wymaga podania groupId, a nie teamId). 

Po zamieszczeniu aplikacji w Microsoft Teams wszelkie opublikowane aktualizacje będą widoczne po ponownym załadowaniu aplikacji na karcie. Chociaż może to uprościć proces testowania nowej aplikacji, nie jest to idealne rozwiązanie w przypadku próby przetestowania zmian w aplikacji, która już istnieje i jest używana, kiedy wciąż trwają nad nią prace. 

Podsumowanie 

Tworzenie aplikacji obsługujących Teams wypełnia lukę, gdy trzeba wybrać między tworzeniem ich przy użyciu Power Apps lub innych platform programistycznych, takich jak Node. Zastosowanie tego podejścia umożliwi deweloperom aplikacji wprowadzanie modyfikacji i testowanie aplikacji przed umieszczeniem jej w usłudze Teams, zmniejszając w ten sposób liczbę potrzebnych cykli kompilacji, wdrożenia, testów i poprawek.