Table of Contents

Codeunit "Sharepoint Storage UTCAP"

ID 70344796
Namespace: CapVision.Core.Graph

Propose un ensemble de fonctionnalités pour accéder aux lecteurs et aux fichiers de SharePoint via Microsoft Graph. Ce module requiert une inscription d'application dans le tenant Entra ID visé, avec consentement administrateur, pour laquelle l'autorisation d'API d'application suivante est accordée :

  • Sites.ReadWrite.All, ou Sites.Selected (bien moins privilégiée) en n'autorisant que les sites nécessaires. Les listes renvoyées sont complètes (pagination suivie) ; les appels limités par Graph (HTTP 429/503) sont réessayés.

Examples

Lister les sites

``` AL
    var
        SharepointStorage: Codeunit "Sharepoint Storage UTCAP";
        Sites: JsonArray;
        SiteTok, NameTok: JsonToken;
        SiteNames: TextBuilder;
    begin
        SharepointStorage.Initialize('client_id', ClientSecret, 'mydomain.fr');
        SharepointStorage.GetSites(Sites);

        foreach SiteTok in Sites do begin
            SiteTok.AsObject().Get('name', NameTok);
            SiteNames.AppendLine(NameTok.AsValue().AsText());
        end;

        Message(SiteNames.ToText());
    end;
```

Properties

Name Value
Access Public

Methods

Initialize

Obsolete

This element will become obsolete from version V27.202610. Pass the client secret as SecretText.

Initialise cette instance de stockage SharePoint.

[NonDebuggable]
[Obsolete(Pass the client secret as SecretText.,V27.202610)]
procedure Initialize(NewClientID: Text; NewClientSecret: Text; NewTenantId: Text)

Parameters

Name Type Description
NewClientID Text

Identifiant de l'inscription d'application.

NewClientSecret Text

Secret de l'inscription d'application.

NewTenantId Text

Identifiant ou domaine du tenant.

Initialize

Initialise cette instance de stockage SharePoint.

procedure Initialize(NewClientID: Text; NewClientSecret: SecretText; NewTenantId: Text)

Parameters

Name Type Description
NewClientID Text

Identifiant de l'inscription d'application.

NewClientSecret SecretText

Secret de l'inscription d'application.

NewTenantId Text

Identifiant ou domaine du tenant.

GetSites

Obtient la liste des sites du tenant.

[TryFunction]
procedure GetSites(var Sites: JsonArray): Boolean

Parameters

Name Type Description
Sites JsonArray

Objets site Graph (id, name, displayName, webUrl...).

Returns

Type Description
Boolean

GetSites

Renvoie la liste des sous-sites du site spécifié.

[TryFunction]
procedure GetSites(ParentSiteId: Text; var Sites: JsonArray): Boolean

Parameters

Name Type Description
ParentSiteId Text

Identifiant Graph du site parent. Vide : tous les sites du tenant.

Sites JsonArray

Objets site Graph.

Returns

Type Description
Boolean

GetDrives

Renvoie la liste des lecteurs de l'utilisateur courant.

[TryFunction]
procedure GetDrives(var Drives: JsonArray): Boolean

Parameters

Name Type Description
Drives JsonArray

Objets drive Graph.

Returns

Type Description
Boolean

Remarks

Ce point de terminaison dépend d'un contexte utilisateur : avec une authentification d'application (identifiants client), utiliser ou .

GetSiteDrives

Renvoie la liste des lecteurs (bibliothèques de documents) d'un site.

[TryFunction]
procedure GetSiteDrives(SiteId: Text; var Drives: JsonArray): Boolean

Parameters

Name Type Description
SiteId Text

Identifiant Graph du site.

Drives JsonArray

Objets drive Graph.

Returns

Type Description
Boolean

GetGroupDrives

Renvoie la liste des lecteurs d'un groupe Microsoft 365.

[TryFunction]
procedure GetGroupDrives(GroupId: Text; var Drives: JsonArray): Boolean

Parameters

Name Type Description
GroupId Text

Identifiant du groupe.

Drives JsonArray

Objets drive Graph.

Returns

Type Description
Boolean

GetDriveChildItemsFromItemId

Renvoie la liste des enfants (fichiers et dossiers) d'un élément du lecteur.

[TryFunction]
procedure GetDriveChildItemsFromItemId(DriveId: Text; ItemId: Text; var Children: JsonArray): Boolean

Parameters

Name Type Description
DriveId Text

Identifiant du lecteur.

ItemId Text

Identifiant du dossier.

Children JsonArray

Objets driveItem Graph.

Returns

Type Description
Boolean

GetDriveChildItemsFromPath

Renvoie la liste des enfants (fichiers et dossiers) d'un dossier désigné par son chemin.

[TryFunction]
procedure GetDriveChildItemsFromPath(DriveId: Text; Path: Text; var Children: JsonArray): Boolean

Parameters

Name Type Description
DriveId Text

Identifiant du lecteur.

Path Text

Chemin du dossier depuis la racine du lecteur (ex. « /Projets/2026 »). Vide : racine.

Children JsonArray

Objets driveItem Graph.

Returns

Type Description
Boolean

GetDriveItemFromPath

Renvoie un élément du lecteur désigné par son chemin.

[TryFunction]
procedure GetDriveItemFromPath(DriveId: Text; Path: Text; var Item: JsonObject): Boolean

Parameters

Name Type Description
DriveId Text

Identifiant du lecteur.

Path Text

Chemin de l'élément depuis la racine du lecteur (ex. « /Projets/2026/Devis.pdf »). Vide : racine.

Item JsonObject

Objet driveItem Graph.

Returns

Type Description
Boolean

GetDriveItem

Renvoie un élément du lecteur.

[TryFunction]
procedure GetDriveItem(DriveId: Text; ItemId: Text; var Item: JsonObject): Boolean

Parameters

Name Type Description
DriveId Text

Identifiant du lecteur.

ItemId Text

Identifiant de l'élément.

Item JsonObject

Objet driveItem Graph.

Returns

Type Description
Boolean

GetDriveRootItem

Renvoie l'élément racine d'un lecteur.

[TryFunction]
procedure GetDriveRootItem(DriveId: Text; var Item: JsonObject): Boolean

Parameters

Name Type Description
DriveId Text

Identifiant du lecteur.

Item JsonObject

Objet driveItem Graph.

Returns

Type Description
Boolean

CreateDriveFolderFromParentId

Crée un dossier dans le dossier parent spécifié. Si le nom est déjà pris, le dossier est renommé par Graph.

[TryFunction]
procedure CreateDriveFolderFromParentId(DriveId: Text; ParentItemId: Text; FolderName: Text; var ResponsePayload: JsonObject): Boolean

Parameters

Name Type Description
DriveId Text

Identifiant du lecteur.

ParentItemId Text

Identifiant du dossier parent.

FolderName Text

Nom du dossier.

ResponsePayload JsonObject

Objet driveItem du dossier créé.

Returns

Type Description
Boolean

CreateDriveFolderFromParentId

Crée un dossier dans le dossier parent spécifié. Si le nom est déjà pris, le dossier est renommé par Graph.

[TryFunction]
procedure CreateDriveFolderFromParentId(DriveId: Text; ParentItemId: Text; FolderName: Text): Boolean

Parameters

Name Type Description
DriveId Text

Identifiant du lecteur.

ParentItemId Text

Identifiant du dossier parent.

FolderName Text

Nom du dossier.

Returns

Type Description
Boolean

DeleteDriveItem

Supprime un élément du lecteur (fichier ou dossier).

[TryFunction]
procedure DeleteDriveItem(DriveId: Text; ItemId: Text): Boolean

Parameters

Name Type Description
DriveId Text

Identifiant du lecteur.

ItemId Text

Identifiant de l'élément.

Returns

Type Description
Boolean

UploadDriveFile

Envoie un fichier dans le dossier spécifié. Échoue si un fichier du même nom existe déjà.

[TryFunction]
procedure UploadDriveFile(DriveId: Text; ParentItemId: Text; Filename: Text; DocumentStream: InStream; var ResponsePayload: JsonObject): Boolean

Parameters

Name Type Description
DriveId Text

Identifiant du lecteur.

ParentItemId Text

Identifiant du dossier de destination.

Filename Text

Nom du fichier.

DocumentStream InStream

Contenu du fichier.

ResponsePayload JsonObject

Objet driveItem du fichier créé.

Returns

Type Description
Boolean

UploadDriveFile

Envoie un fichier dans le dossier spécifié. Échoue si un fichier du même nom existe déjà.

[TryFunction]
procedure UploadDriveFile(DriveId: Text; ParentItemId: Text; Filename: Text; DocumentStream: InStream): Boolean

Parameters

Name Type Description
DriveId Text

Identifiant du lecteur.

ParentItemId Text

Identifiant du dossier de destination.

Filename Text

Nom du fichier.

DocumentStream InStream

Contenu du fichier.

Returns

Type Description
Boolean

GetDriveFile

Récupère le contenu et le nom d'un fichier partagé.

[TryFunction]
procedure GetDriveFile(SharingUrl: Text; var Filename: Text; var DocumentStream: InStream): Boolean

Parameters

Name Type Description
SharingUrl Text

URL de partage du fichier (ex. webUrl), ou identifiant de partage déjà encodé (« u!... » / « s!... »).

Filename Text

Nom du fichier.

DocumentStream InStream

Contenu du fichier.

Returns

Type Description
Boolean

BrowseForFolder

Ouvre une boîte de dialogue pour parcourir et sélectionner un dossier dans un lecteur. Valider sans sélectionner de sous-dossier (ou sur la ligne « .. ») sélectionne le dossier affiché.

procedure BrowseForFolder(DriveId: Text; StartItemId: Text; NewFolderAllowed: Boolean; var SelectedItemId: Text): Boolean

Parameters

Name Type Description
DriveId Text

Identifiant du lecteur.

StartItemId Text

Identifiant du dossier affiché à l'ouverture. Vide : racine du lecteur.

NewFolderAllowed Boolean

true pour autoriser la création de dossiers depuis la boîte de dialogue.

SelectedItemId Text

Identifiant du dossier sélectionné.

Returns

Type Description
Boolean

true si l'utilisateur a validé une sélection.

See also