Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
La acción createLink crea un nuevo vínculo de uso compartido si el tipo de vínculo especificado aún no existe para la aplicación que realiza la llamada.
Si ya existe un vínculo de uso compartido del tipo especificado para la aplicación, esta acción devuelve el vínculo de uso compartido existente.
Los recursos listItem heredan permisos de uso compartido de la lista en la que reside el elemento.
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Tipo de permiso
Permisos con privilegios mínimos
Permisos con privilegios más altos
Delegado (cuenta profesional o educativa)
Files.ReadWrite
Files.ReadWrite.All, Sites.ReadWrite.All
Delegado (cuenta personal de Microsoft)
Files.ReadWrite
Files.ReadWrite.All
Aplicación
Files.ReadWrite.All
Sites.ReadWrite.All
Solicitud HTTP
POST /sites/{siteId}/lists/{listId}/items/{itemId}/createLink
Colección de destinatarios que recibirán acceso al vínculo de uso compartido. Opcional.
retainInheritedPermissions
Booleano
Opcional. Si true es (valor predeterminado), los permisos heredados existentes se conservan en el elemento compartido al compartir este elemento por primera vez. Si falsees , se quitan todos los permisos existentes al compartir por primera vez.
sendNotification
Booleano
Si truees , este método envía un vínculo de uso compartido en un correo electrónico a los usuarios especificados en recipients. Aplicable a OneDrive para la Empresa y SharePoint. El valor predeterminado es false. Opcional.
Tipos de vínculos
Se pueden usar los siguientes valores para el parámetro de tipo.
Valor del tipo
Descripción
vista
Crea un vínculo de solo lectura para el elemento.
Revisión
Crea un vínculo de revisión al elemento. Esta opción solo está disponible para los archivos de OneDrive para la Empresa y SharePoint.
edit
Crea un vínculo de solo escritura para el elemento.
Insertar
Crea un vínculo insertable para el elemento.
blocksDownload
Crea un vínculo de solo lectura que bloquea la descarga en el elemento. Esta opción solo está disponible para los archivos de OneDrive para la Empresa y SharePoint.
createOnly
Crea un vínculo de solo carga al elemento. Esta opción solo está disponible para carpetas de OneDrive para la Empresa y SharePoint.
addressBar
Crea el vínculo predeterminado que se muestra en las barras de direcciones del explorador para los archivos recién creados. Disponible solo en OneDrive para la Empresa y en SharePoint. El administrador de la organización configura si se admite este tipo de vínculo y qué características admite este tipo de vínculo.
adminDefault
Crea el vínculo predeterminado al elemento según lo determinado por el administrador de la organización. Disponible solo en OneDrive para la Empresa y en SharePoint. El administrador aplica la directiva para la organización.
Tipos de ámbitos
Se permiten los siguientes valores para el parámetro scope.
Valor
Descripción
Anónimo
Cualquier persona con el vínculo tiene acceso, sin necesidad de iniciar sesión. Se incluyen personas de fuera de su organización. Un administrador puede deshabilitar la compatibilidad con vínculos anónimos.
organización
Cualquier persona que haya iniciado sesión en su organización (espacio empresarial) podrá usar el vínculo para obtener acceso. Disponible solo en OneDrive para la Empresa y en SharePoint.
users
Las personas específicas de la colección recipients pueden usar el vínculo para obtener acceso. Disponible solo en OneDrive para la Empresa y en SharePoint.
Respuesta
Si se ejecuta correctamente, este método devuelve un único recurso de permiso en el cuerpo de la respuesta que representa los permisos de uso compartido solicitados.
La respuesta es 201 Created si se crea un nuevo vínculo de uso compartido para listItem o 200 OK si se devuelve un vínculo existente.
Ejemplos
Ejemplo 1: Creación de un vínculo de uso compartido anónimo
En el ejemplo siguiente se solicita la creación de un vínculo de uso compartido para el elemento listItem especificado por {itemId} en la lista especificada {listId}.
El vínculo para compartir está configurado para que sea de solo lectura y lo pueda usar cualquier usuario que tenga el vínculo.
Para los usuarios de OneDrive para la Empresa y SharePoint, use el sendNotification parámetro para crear un vínculo de uso compartido. sharingLink A continuación, se envía a los destinatarios por correo electrónico.
Todos los permisos existentes se quitan al compartir por primera vez si retainInheritedPermissions es false.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Sites.Item.Lists.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.Sites["{site-id}"].Lists["{list-id}"].Items["{listItem-id}"].CreateLink.PostAsync(requestBody);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc-beta sites lists items create-link post --site-id {site-id} --list-id {list-id} --list-item-id {listItem-id} --body '{\
"type": "view",\
"scope": "anonymous",\
"password": "String",\
"recipients": [\
{\
"@odata.type": "microsoft.graph.driveRecipient"\
}\
],\
"sendNotification": true,\
"retainInheritedPermissions": false\
}\
'
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.sites.item.lists.item.items.item.createlink.CreateLinkPostRequestBody createLinkPostRequestBody = new com.microsoft.graph.beta.sites.item.lists.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.sites().bySiteId("{site-id}").lists().byListId("{list-id}").items().byListItemId("{listItem-id}").createLink().post(createLinkPostRequestBody);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\CreateLinkPostRequestBody;
use Microsoft\Graph\Generated\Models\DriveRecipient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CreateLinkPostRequestBody();
$requestBody->setType('view');
$requestBody->setScope('anonymous');
$requestBody->setPassword('String');
$recipientsDriveRecipient1 = new DriveRecipient();
$recipientsDriveRecipient1->setOdataType('microsoft.graph.driveRecipient');
$recipientsArray []= $recipientsDriveRecipient1;
$requestBody->setRecipients($recipientsArray);
$requestBody->setSendNotification(true);
$requestBody->setRetainInheritedPermissions(false);
$result = $graphServiceClient->sites()->bySiteId('site-id')->lists()->byListId('list-id')->items()->byListItemId('listItem-id')->createLink()->post($requestBody)->wait();
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
from msgraph import GraphServiceClient
from msgraph.generated.models.create_link_post_request_body import CreateLinkPostRequestBody
from msgraph.generated.models.drive_recipient import DriveRecipient
graph_client = GraphServiceClient(credentials, scopes)
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.sites.by_site_id('site-id').lists.by_list_id('list-id').items.by_list_item_id('listItem-id').create_link.post(request_body)
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Ejemplo 2: Creación de vínculos que pueden compartirse en la empresa
OneDrive para la Empresa y SharePoint admiten vínculos de empresa para compartir.
Estos vínculos son similares a los vínculos anónimos, excepto que solo funcionan para miembros de la organización propietaria.
Para crear un vínculo de empresa para compartir, utilice el parámetro de ámbito con un valor de organization.
POST https://graph.microsoft.com/beta/sites/{siteId}/lists/{listId}/items/{itemId}/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.Sites.Item.Lists.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.Sites["{site-id}"].Lists["{list-id}"].Items["{listItem-id}"].CreateLink.PostAsync(requestBody);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc-beta sites lists items create-link post --site-id {site-id} --list-id {list-id} --list-item-id {listItem-id} --body '{\
"type": "edit",\
"scope": "organization"\
}\
'
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.sites.item.lists.item.items.item.createlink.CreateLinkPostRequestBody createLinkPostRequestBody = new com.microsoft.graph.beta.sites.item.lists.item.items.item.createlink.CreateLinkPostRequestBody();
createLinkPostRequestBody.setType("edit");
createLinkPostRequestBody.setScope("organization");
var result = graphClient.sites().bySiteId("{site-id}").lists().byListId("{list-id}").items().byListItemId("{listItem-id}").createLink().post(createLinkPostRequestBody);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\CreateLinkPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CreateLinkPostRequestBody();
$requestBody->setType('edit');
$requestBody->setScope('organization');
$result = $graphServiceClient->sites()->bySiteId('site-id')->lists()->byListId('list-id')->items()->byListItemId('listItem-id')->createLink()->post($requestBody)->wait();
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
from msgraph import GraphServiceClient
from msgraph.generated.models.create_link_post_request_body import CreateLinkPostRequestBody
graph_client = GraphServiceClient(credentials, scopes)
request_body = CreateLinkPostRequestBody(
type = "edit",
scope = "organization",
)
result = await graph_client.sites.by_site_id('site-id').lists.by_list_id('list-id').items.by_list_item_id('listItem-id').create_link.post(request_body)
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Cuando se usa el tipo de embed vínculo, la webUrl devuelta se puede incrustar en un <iframe> elemento HTML.
Cuando se crea un vínculo de inserción, la webHtml propiedad contiene el código HTML de un <iframe> objeto para hospedar el contenido.
Nota: La acción de insertar vínculos solo se admite en OneDrive Personal.
POST https://graph.microsoft.com/beta/sites/{siteId}/lists/{listId}/items/{itemId}/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.Sites.Item.Lists.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.Sites["{site-id}"].Lists["{list-id}"].Items["{listItem-id}"].CreateLink.PostAsync(requestBody);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc-beta sites lists items create-link post --site-id {site-id} --list-id {list-id} --list-item-id {listItem-id} --body '{\
"type": "embed"\
}\
'
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.sites.item.lists.item.items.item.createlink.CreateLinkPostRequestBody createLinkPostRequestBody = new com.microsoft.graph.beta.sites.item.lists.item.items.item.createlink.CreateLinkPostRequestBody();
createLinkPostRequestBody.setType("embed");
var result = graphClient.sites().bySiteId("{site-id}").lists().byListId("{list-id}").items().byListItemId("{listItem-id}").createLink().post(createLinkPostRequestBody);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\CreateLinkPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CreateLinkPostRequestBody();
$requestBody->setType('embed');
$result = $graphServiceClient->sites()->bySiteId('site-id')->lists()->byListId('list-id')->items()->byListItemId('listItem-id')->createLink()->post($requestBody)->wait();
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
from msgraph import GraphServiceClient
from msgraph.generated.models.create_link_post_request_body import CreateLinkPostRequestBody
graph_client = GraphServiceClient(credentials, scopes)
request_body = CreateLinkPostRequestBody(
type = "embed",
)
result = await graph_client.sites.by_site_id('site-id').lists.by_list_id('list-id').items.by_list_item_id('listItem-id').create_link.post(request_body)
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de manera predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo acceder a la API beta con el SDK, consulte Uso de los SDK de Microsoft Graph con la API beta.
Para crear un vínculo basado en la directiva predeterminada de la organización y los permisos del autor de la llamada en listItem, omita los parámetros de ámbito y tipo.
Los vínculos creados con esta acción no expiran a menos que se aplique una directiva de expiración predeterminada para la organización.
Los vínculos son visibles en los permisos de uso compartido para listItem y los puede quitar un propietario de listItem.
Los vínculos siempre apuntan a la versión actual de un listItem a menos que se desprotegera listItem (solo SharePoint).
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea: https://aka.ms/ContentUserFeedback.