Come interrompere e modificare l’autorizzazione per i list items utilizzando Power Automate
Grazie all'API REST sarà possibile gestire in maniera semplice ed efficace tutti i permessi

In questo articolo, verrà spiegato come interrompere e modificare l’autorizzazione per i list items utilizzando Power Automate. Per procedere con l’attività, verrà usato l’API REST.
Implementazione
Creare un elenco di SharePoint.
Creare un Power Automate: verrà creato un flusso cloud automatizzato
1. Su Power Automate > I miei flussi > Fare clic su Nuovo flusso > Selezionare flusso cloud automatizzato

2. Richiesta del nome del flusso e il trigger.
Aggiungere il nome del flusso e scegliere un trigger quando viene creato un elemento.

3. Fare clic su Create.
4. Impostare il nome del sito e il nome dell’elenco quando viene creato un elemento.

Per tutte le chiamate API, verrà utilizzata l’azione “Invia una richiesta HTTP a SharePoint”.
5. Eseguire l’API REST per interrompere l’ereditarietà dei ruoli. Impostare tutte le proprietà come di seguito.
Indirizzo del sito | Selezionare il nome del sito dal menu a discesa |
Metodo | INVIARE |
Uri | _api/lists/getByTitle(‘ListTitle’)/items(ID)/breakroleinheritance(copyRoleAssignments=false,clearSubscopes=true) |
Intestazioni | { “Accept”: “application/json”, “Content-type”: “application/json” } |

6. Impostare un nuovo permesso. Per procedere con questo passaggio bisogna avere un ID utente a cui dare il permesso e un ID di definizione del ruolo.
ID definizione ruolo: è possibile utilizzare l’ID in base all’autorizzazione.
Nome definizione ruolo | ID definizione ruolo |
Accesso limitato | 1073741825 |
Visualizzare solamente | 1073741924 |
Disegno | 1073741828 |
Modificare | 1073741830 |
Contribuire | 1073741827 |
Leggi | 1073741826 |
Pieno controllo | 1073741829 |
1. Creare una variabile e impostare il titolo utente. Se è presente una colonna elenco, è possibile utilizzarla.

2. Eseguire l’API per ottenere un ID utente e filtrarlo in base al nome utente sopra dichiarato.

Restituirà un oggetto come di seguito:
{
“d”: {
“results”: [
{
“__metadata”: {
“id”: “https://sitename.sharepoint.com/_api/Web/GetUserById(2)”,
“uri”: “https://sitename.sharepoint.com/_api/Web/GetUserById(2)”,
“type”: “SP.User”
},
“Id”: 2,
“Title”: “Chandani Prajapati”
}
]
}
}
Per utilizzare l’unico ID da questo, dovrà essere usata un’espressione come di seguito,
outputs(‘Send_an_HTTP_request_to_SharePoint_-_Get_user_id’)?[‘body’][‘d’][‘results’]?[0][‘Id’]
E dovrà essere impostata in una variabile chiamata UserId.

3. Impostare il permesso di contributo per l’ID utente sopra.

Ora è possibile testare il flusso.
Di seguito è possibile vedere l’autorizzazione per un elemento:

Le informazioni presenti in questo post sono prese dall’articolo “How to break and change list item permission using Power Automate?”