Gdy podczas tworzenia przepływu w Power Automate zaistnieje potrzeba nadania uprawnień dla większej ilości osób, najlepszym rozwiązaniem będzie nadanie ich dla całej grupy użytkowników. Pierwsze co może przyjść do głowy dewelopera to wykorzystanie akcji „Udziel dostępu do elementu lub folderu” (Grant access to an item or a folder). Nie zawsze to rozwiązanie będzie trafne w punkt.

Jak zatem zautomatyzować proces nadawania uprawnień dla grupy? Przedstawię wam to w poniższych punktach:

  1. Pierwszą czynnością, której dokonamy będzie pobranie unikalnego identyfikatora listy zwanego GUID, będącym ciągiem znaków. Teraz pewnie zastanawiacie się po co nam się to przyda?

    Już tłumaczę, wykorzystamy go w akcji „Wyślij żądanie HTTP do programu SharePoint” (Send an HTTP request to SharePoint), w której nadamy uprawnienia dla grupy do elementu na liście. W większości przypadków, na różnych forach czy blogach można zauważyć sposób, w którym to wskazujemy listę po jej nazwie podczas nadawania uprawnień. I tutaj należy zadać pytanie, a co jeśli nazwa tej listy zostanie zmieniona?

    Wtedy nasz przepływ zakończy swój bieg niepowodzeniem, oraz zostanie zwrócony błąd o problemie z odnalezieniem listy. Aby uniknąć takiej sytuacji, my wskażemy naszą listę po jej identyfikatorze GUID, którego nie da się edytować i zawsze będzie odnosił się do danej listy, nawet po modyfikacji jej nazwy.

    Po małej dawce teorii, czas przejść do praktyki. Gdzie odnaleźć wcześniej już wspomniany identyfikator GUID?

    Potrzebujemy wejść do ustawień listy, a następnie skupić całą swoją uwagę na adresie URL, ponieważ to tam go odnajdziemy. Znajduję się on pomiędzy znacznikami %7B, a %7D. Polecam skopiować go sobie np. do notatnika, ponieważ później będzie nam potrzebny.
    %7B<GUID>%7D
    undefined
  2. Drugą rzeczą, która jest nam niezmiernie potrzebna, jest to pobranie identyfikatora ID grupy, dla której chcemy nadać uprawnienia. Po wejściu do grupy na witrynie SharePoint, zwracamy szczególną uwagę na adres URL, ponieważ w nim znajduję się szukany przez nas identyfikator w postaci cyfry lub liczby. W naszym przypadku będzie to grupa Finanse, a jej ID to 18.

    undefined
  3. Gdy odnaleźliśmy już identyfikator listy możemy przejść do Power Automate, gdzie zapiszemy GUID do zmiennej, aby wykorzystać go w późniejszym procesie nadawania uprawnień. Dodajemy akcję „Inicjuj zmienną” (Initialize variable), a następnie wypełniamy jej pola:

    Nazwa – wpisujemy nazwę, którą będzie nosiła nasza zmienna.

    Typ – z listy rozwijanej wybieramy opcję Ciąg, ponieważ identyfikator GUID chcemy traktować jako tekst.

    Wartość – tutaj wklejamy nasz identyfikator GUID.

    undefined
  4. Przed nadaniem nowych uprawnień należałoby zerwać ich dotychczasowe dziedziczenie na liście. Aby to zrobić dodajemy akcję „Zatrzymaj udostępnianie elementu lub pliku” (Stop sharing an item or a file), a następnie wypełniamy jej wymagane pola:

    Adres witryny – wskazujemy adres witryny, na której została utworzona lista.

    • Nazwa listy lub biblioteki – z listy rozwijanej, wybieramy nazwę naszej listy.

    • Identyfikator – wybieramy identyfikator odnoszący się do elementu listy.

    undefined
  5. Ostatnim i najważniejszym punktem to nadanie uprawnień naszej grupie do elementu listy. Dodajemy akcję „Wyślij żądanie HTTP do programu SharePoint” (Send an HTTP request to SharePoint), następnie wypełniamy jej wymagane pola:

    Adres witryny – wskazujemy adres witryny, na której została utworzona lista.

    Metoda – z listy rozwijanej wybieramy metodę POST.

    Identyfikator URI – to pole interesuje nas najbardziej, ponieważ to dzięki niemu będą nadawane uprawnienia dla grupy.


    W miejscu poniższych znaczników, wybieramy opisane wartości:

    <GUID> = z zawartości dynamicznej wybieramy naszą zmienną, w której zapisaliśmy nasz unikalny identyfikator.

    <ID> = z zawartości dynamicznej wybieramy identyfikator ID, który odnosi się do danego elementu listy. 

    <IDGrupy> = wpisujemy identyfikator ID grupy, której chcemy nadać uprawnienia. 

    <Rola> = wpisujemy numer roli, poziomu uprawnień, jakie mają otrzymać użytkownicy należący do grupy.

    Pełna kontrola = 1073741829
    Projektowanie = 1073741828
    Edycja = 1073741830
    Współtworzenie = 1073741827
    Czytanie = 1073741826
    _api/web/lists(guid'<GUID>')/items(<IDElementu>)/roleassignments/addroleassignment(principalid='<IDGrupy>', roleDefId=<Rola>)
    undefinedW podanym wyżej przypadku możemy zauważyć, że dla grupy o ID = 18 zostały nadane uprawnienia współtworzenia (1073741827) do elementów na liście „Dane sprzedażowe”.