Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Créez un lien pour partager un driveItem driveItem.
L’action createLink crée un lien de partage si le type de lien spécifié n’existe pas déjà pour l’application appelante.
Si un lien de partage du type spécifié existe déjà pour l’application, le lien de partage existant est retourné.
Les ressources DriveItem héritent des autorisations de partage de leurs ancêtres.
POST /drives/{driveId}/items/{itemId}/createLink
POST /groups/{groupId}/drive/items/{itemId}/createLink
POST /me/drive/items/{itemId}/createLink
POST /sites/{siteId}/drive/items/{itemId}/createLink
POST /users/{userId}/drive/items/{itemId}/createLink
Le corps de la demande définit les propriétés du lien de partage demandé par votre application.
La demande doit être un objet JSON qui possède les propriétés suivantes :
Propriété
Type
Description
type
String
Facultatif. Type de lien de partage à créer.
étendue
Chaîne
Facultatif. Étendue du lien à créer. , anonymousorganizationouusers
expirationDateTime
DateTimeOffset
Optional. Une chaîne au format aaaa-MM-jjTHH :mm :ssZ de DateTime indique l’heure d’expiration de l’autorisation.
mot de passe
Chaîne
Facultatif. Le créateur définit le mot de passe pour le lien de partage.
Optional. Collection de destinataires qui reçoivent l’accès au lien de partage.
retainInheritedPermissions
Boolean
Facultatif. Si true la valeur est (valeur par défaut), toutes les autorisations héritées existantes sont conservées sur l’élément partagé lors du premier partage de cet élément. Si la valeur est false, toutes les autorisations existantes sont supprimées lors du premier partage.
sendNotification
Valeur booléenne
Si la valeur est true, cette méthode envoie un lien de partage dans un e-mail aux utilisateurs spécifiés dans recipients. Applicable à OneDrive Entreprise ou SharePoint. La valeur par défaut est false. Optional.
Types de liens
Vous pouvez utiliser les valeurs suivantes pour le paramètre type.
Valeur du type
Description
view
Crée un lien en lecture seule vers l’objet driveItem.
Examen
Crée un lien de révision vers l’élément driveItem. Cette option est disponible uniquement pour les fichiers dans OneDrive Entreprise et SharePoint.
edit
Crée un lien en lecture-écriture vers l’objet driveItem.
Incorporer
Crée un lien incorporable vers l’élément driveItem.
blocksDownload
Crée un lien en lecture seule qui bloque le téléchargement sur l’objet driveItem. Cette option est disponible uniquement pour les fichiers dans OneDrive Entreprise et SharePoint.
createOnly
Crée un lien de chargement uniquement vers l’élément driveItem. Cette option est disponible uniquement pour les dossiers dans OneDrive Entreprise et SharePoint.
addressBar
Crée le lien par défaut affiché dans les barres d’adresses du navigateur pour les fichiers nouvellement créés. Disponible uniquement dans OneDrive Entreprise et SharePoint. L’administrateur organization configure si ce type de lien prend en charge et spécifie les fonctionnalités qu’il prend en charge.
adminDefault
Crée le lien par défaut vers l’objet driveItem, tel que déterminé par l’administrateur du organization. Disponible uniquement dans OneDrive Entreprise et SharePoint. L’administrateur applique la stratégie pour le organization.
Types d’étendue
Vous pouvez utiliser les valeurs suivantes pour le paramètre scope.
Valeur
Description
Anonyme
Toute personne disposant du lien peut accéder sans avoir besoin de se connecter. Il peut s’agir de personnes extérieures à votre organization. Un administrateur peut désactiver la prise en charge des liens anonymes.
organisation
Toute personne connectée à votre client (locataire) peut utiliser le lien pour bénéficier de l’accès. Disponible uniquement dans OneDrive Entreprise et SharePoint.
utilisateurs
Des personnes spécifiques dans la collection du destinataire peuvent utiliser le lien pour obtenir l’accès. Disponible uniquement dans OneDrive Entreprise et SharePoint.
Réponse
Si l’opération réussit, cette méthode renvoie une seule ressource Permission dans le corps de la réponse qui représente les autorisations du lien de partage demandé.
La réponse est 201 Created si un nouveau lien de partage est créé pour l’objet driveItem ou 200 OK si un lien existant est retourné.
Exemples
Exemple 1 : Créer un lien de partage anonyme
L’exemple suivant demande la création d’un lien de partage pour l’objet driveItem spécifié par {itemId} dans le OneDrive de l’utilisateur.
Le lien de partage est configuré pour être en lecture seule et utilisable par toute personne disposant du lien.
Pour les utilisateurs OneDrive Entreprise et SharePoint, utilisez le sendNotification paramètre pour créer un lien de partage. Le lien de partage est ensuite envoyé aux destinataires par e-mail.
Toutes les autorisations existantes sont supprimées lors du premier partage si retainInheritedPermissions a la valeur false.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Drives.Item.Items.Item.CreateLink;
using Microsoft.Graph.Beta.Models;
var requestBody = new CreateLinkPostRequestBody
{
Type = "view",
Scope = "anonymous",
Password = "String",
Recipients = new List<DriveRecipient>
{
new DriveRecipient
{
OdataType = "microsoft.graph.driveRecipient",
},
},
SendNotification = true,
RetainInheritedPermissions = false,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].CreateLink.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.drives.item.items.item.createlink.CreateLinkPostRequestBody createLinkPostRequestBody = new com.microsoft.graph.beta.drives.item.items.item.createlink.CreateLinkPostRequestBody();
createLinkPostRequestBody.setType("view");
createLinkPostRequestBody.setScope("anonymous");
createLinkPostRequestBody.setPassword("String");
LinkedList<DriveRecipient> recipients = new LinkedList<DriveRecipient>();
DriveRecipient driveRecipient = new DriveRecipient();
driveRecipient.setOdataType("microsoft.graph.driveRecipient");
recipients.add(driveRecipient);
createLinkPostRequestBody.setRecipients(recipients);
createLinkPostRequestBody.setSendNotification(true);
createLinkPostRequestBody.setRetainInheritedPermissions(false);
var result = graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").createLink().post(createLinkPostRequestBody);
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.drives.item.items.item.create_link.create_link_post_request_body import CreateLinkPostRequestBody
from msgraph_beta.generated.models.drive_recipient import DriveRecipient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CreateLinkPostRequestBody(
type = "view",
scope = "anonymous",
password = "String",
recipients = [
DriveRecipient(
odata_type = "microsoft.graph.driveRecipient",
),
],
send_notification = True,
retain_inherited_permissions = False,
)
result = await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').create_link.post(request_body)
Exemple 2 : Création de liens partageables d’entreprise
OneDrive Entreprise et SharePoint prennent en charge les liens pouvant être partagés au sein de l’entreprise.
Ils sont similaires aux liens anonymes, sauf qu’ils fonctionnent uniquement pour les membres du organization propriétaire.
Pour créer un lien pouvant être partagé au sein de l’entreprise, utilisez le paramètre scope avec la valeur organization.
POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/createLink
Content-Type: application/json
{
"type": "edit",
"scope": "organization"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Drives.Item.Items.Item.CreateLink;
var requestBody = new CreateLinkPostRequestBody
{
Type = "edit",
Scope = "organization",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].CreateLink.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphdrives "github.com/microsoftgraph/msgraph-beta-sdk-go/drives"
//other-imports
)
requestBody := graphdrives.NewCreateLinkPostRequestBody()
type := "edit"
requestBody.SetType(&type)
scope := "organization"
requestBody.SetScope(&scope)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
createLink, err := graphClient.Drives().ByDriveId("drive-id").Items().ByDriveItemId("driveItem-id").CreateLink().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.drives.item.items.item.createlink.CreateLinkPostRequestBody createLinkPostRequestBody = new com.microsoft.graph.beta.drives.item.items.item.createlink.CreateLinkPostRequestBody();
createLinkPostRequestBody.setType("edit");
createLinkPostRequestBody.setScope("organization");
var result = graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").createLink().post(createLinkPostRequestBody);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Drives\Item\Items\Item\CreateLink\CreateLinkPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CreateLinkPostRequestBody();
$requestBody->setType('edit');
$requestBody->setScope('organization');
$result = $graphServiceClient->drives()->byDriveId('drive-id')->items()->byDriveItemId('driveItem-id')->createLink()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.drives.item.items.item.create_link.create_link_post_request_body import CreateLinkPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CreateLinkPostRequestBody(
type = "edit",
scope = "organization",
)
result = await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').create_link.post(request_body)
Lorsque vous utilisez le type de lien embed, la webUrl renvoyée peut être incorporée dans un élément HTML <iframe>.
Lorsqu’un lien incorporé est créé, la webHtml propriété contient le code HTML d’un <iframe> pour héberger le contenu.
Remarque : les liens incorporables sont uniquement pris en charge pour OneDrive Personnel.
POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/createLink
Content-Type: application/json
{
"type": "embed"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Drives.Item.Items.Item.CreateLink;
var requestBody = new CreateLinkPostRequestBody
{
Type = "embed",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].CreateLink.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphdrives "github.com/microsoftgraph/msgraph-beta-sdk-go/drives"
//other-imports
)
requestBody := graphdrives.NewCreateLinkPostRequestBody()
type := "embed"
requestBody.SetType(&type)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
createLink, err := graphClient.Drives().ByDriveId("drive-id").Items().ByDriveItemId("driveItem-id").CreateLink().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.drives.item.items.item.createlink.CreateLinkPostRequestBody createLinkPostRequestBody = new com.microsoft.graph.beta.drives.item.items.item.createlink.CreateLinkPostRequestBody();
createLinkPostRequestBody.setType("embed");
var result = graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").createLink().post(createLinkPostRequestBody);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Drives\Item\Items\Item\CreateLink\CreateLinkPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CreateLinkPostRequestBody();
$requestBody->setType('embed');
$result = $graphServiceClient->drives()->byDriveId('drive-id')->items()->byDriveItemId('driveItem-id')->createLink()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.drives.item.items.item.create_link.create_link_post_request_body import CreateLinkPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CreateLinkPostRequestBody(
type = "embed",
)
result = await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').create_link.post(request_body)
Pour créer un lien basé sur la stratégie par défaut de l’organization et les autorisations de l’appelant sur l’objet driveItem, omettez les paramètres d’étendue et de type.
Les liens créés à l’aide de cette action n’expirent pas, sauf si une stratégie d’expiration par défaut est appliquée pour le organization.
Les liens sont visibles dans les autorisations de partage pour l’élément driveItem et peuvent être supprimés par un propriétaire de l’élément driveItem.
Les liens pointent toujours vers la version actuelle d’un élément driveItem , sauf si l’élément driveItem est extrait (SharePoint uniquement).