Cliquez pour évaluer cet article !
0 avis

Dans cet article nous verrons comment envoyer des fichiers dans SharePoint/Teams en utilisant PowerShell et l’API Graph uniquement, sans modules.

Contexte

  • Vous avez un site SharePoint
  • Vous souhaitez y envoyer des fichiers
  • Vous ne voulez pas utiliser de module

Dans cet article je vous montrerai comment utiliser directement l’API Graph sans modules.

Auparavant, j’avais l’habitude d’utiliser le module pnp.powershell et celui-ci fonctionnait très bien. Cependant depuis certaines mises à jour du module, des choses fonctionnent à moitié.

C’est pourquoi j’ai décidé de procéder sans module et je dirais que de manière générale, cela vous évitera toujours des problèmes avec des mises à jours, ainsi qu’une meilleure compréhension de l’API Graph.

Fonctionnement

Nous procèderons comme ci-dessous :

  • Création d’une app Azure
  • Ajout de permissions
  • Ajout secret ou certificat
  • Utiliser PowerShell et Graph

*Dans mon cas, j’utiliserai un secret

Obtenir l’ID du site SharePoint

J’ai le site SharePoint suivant : https://systanddeploy.sharepoint.com/sites/Support

Dans le but de pouvoir envoyer des fichiers, il nous faut l’ID correspondant au site.

Pour cela, il vous suffit d’utiliser votre navigateur et de saisir l’adresse ci-dessous :

https://systanddeploy.sharepoint.com/sites/Support/_api/site/id

Création de l’app Azure

1. Allez dans le portail Azure

2. Allez dans App registrations

3. Cliquez sur New registration

4. Saisissez un nom

5. Laissez par défaut et cliquez sur Register

Ajout des permissions

Pour tous les sites

1. Allez dans API permissions

2. Cliquer sur Add a permission

3. Sélectionnez Microsoft Graph

4. Sélectionnez Application permissions

5. Cochez Sites.ReadWrite

6. Cliquez sur Add permissions

7. Cliquez sur Grant admin consent

Pour un site spécifique

Ici nous souhaitons gérer uniquement un site particulier (plus secure quand même).

Nous procèderons comme ci-dessous:

1. Allez dans API permissions

2. Cliquez sur Add a permission

3. Sélectionnez SharePoint

4. Sélectionnez Application permissions

6. Cochez Sites.Selected

7. Cliquez sur Add permissions

8. Cliquez sur Grant admin consent

10. Ouvrez Graph Explorer ici

11. Choisissez la méthode POST

12. Dans url saisissez l’url suivante et remplacez yoursharepointsiteid avec l’ID de votre site :

https://graph.microsoft.com/v1.0/sites/yoursharepointsiteid/permissions

13. Allez dans Request body

14. Saisissez le JSON suivant et remplacez avec vos infos :

{
  "roles": ["write"],
  "grantedToIdentities": [{
    "application": {
      "id": "azure app id",
      "displayName": "azure app displayname"
    }
  }]
}

15. Cliquez sur Run query

16. Vous devriez maintenant avoir accès à votre site

Création du secret

1. Allez dans le portail Azure

2. Allez dans votre app Azure

3. Cliquez sur Certificates & secrets

4. Cliquez sur New client secret

Envoyer du contenu dans SharePoint

Nous aurons besoin des infos suivantes :

  • L’URL du site SharePoint
  • L’ID de l’app Azure
  • Le secret lié à votre application

Pour obtenir le script cliquez sur le bouton GitHub ci-dessous :

Notez cet article

Vous avez aimé cet article ?

Rendez-le plus visible auprès des internautes en lui mettant une bonne note.

Cliquez pour évaluer cet article !
0 avis

Articles pouvant vous intéresser