Crear un vínculo para compartir para un DriveItemCreate a sharing link for a DriveItem

Espacio de nombres: microsoft.graphNamespace: microsoft.graph

Importante

Las API de la /beta versión de Microsoft Graph están sujetas a cambios.APIs under the /beta version in Microsoft Graph are subject to change. No se admite el uso de estas API en aplicaciones de producción.Use of these APIs in production applications is not supported. Para determinar si una API está disponible en v 1.0, use el selector de versiones .To determine whether an API is available in v1.0, use the Version selector.

Puede usar la acción createLink para compartir un DriveItem mediante un vínculo para compartir.You can use createLink action to share a DriveItem via a sharing link.

La acción createLink creará un nuevo vínculo para compartir si el tipo de vínculo especificado no existe para la aplicación que realiza la llamada. Si ya existe el tipo de vínculo para compartir especificado para la aplicación, se devolverá el vínculo para compartir existente.The createLink action will create a new sharing link if the specified link type doesn't already exist for the calling application. If a sharing link of the specified type already exists for the app, the existing sharing link will be returned.

Los recursos DriveItem heredan permisos de uso compartido de sus antecesores.DriveItem resources inherit sharing permissions from their ancestors.

PermisosPermissions

Se requiere uno de los siguientes permisos para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Tipo de permisoPermission type Permisos (de menos a más privilegiados)Permissions (from least to most privileged)
Delegado (cuenta profesional o educativa)Delegated (work or school account) Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.AllFiles.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Delegado (cuenta personal de Microsoft)Delegated (personal Microsoft account) Files.ReadWrite, Files.ReadWrite.AllFiles.ReadWrite, Files.ReadWrite.All
AplicaciónApplication Files.ReadWrite.All, Sites.ReadWrite.AllFiles.ReadWrite.All, Sites.ReadWrite.All

Solicitud HTTPHTTP request

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

Cuerpo de solicitudRequest body

El cuerpo de la solicitud define las propiedades del vínculo para compartir que solicita su aplicación.The body of the request defines properties of the sharing link your application is requesting. La solicitud debe ser un objeto JSON con las siguientes propiedades.The request should be a JSON object with the following properties.

PropiedadProperty TipoType DescripciónDescription
tipotype cadenastring El tipo de vínculo para compartir que se creará.The type of sharing link to create. Puede ver, editar o incrustar.Either view, edit, or embed.
passwordpassword stringstring La contraseña del vínculo para compartir que establece el creador.The password of the sharing link that is set by the creator. Opcional y solo OneDrive personal.Optional and OneDrive Personal only.
expirationDateTimeexpirationDateTime stringstring Una cadena con el formato YYYY-MM-ddTHH: mm: ssZ de DateTime indica la fecha de expiración del permiso.A String with format of yyyy-MM-ddTHH:mm:ssZ of DateTime indicates the expiration time of the permission.
scopescope stringstring Opcional.Optional. El ámbito del vínculo que se creará.The scope of link to create. Ya sea anónima o de organización.Either anonymous or organization.

Se pueden usar los siguientes valores para el parámetro de tipo.The following values are allowed for the type parameter.

Valor del tipoType value DescripciónDescription
vistaview Crea un vínculo de solo lectura para el objeto DriveItem.Creates a read-only link to the DriveItem.
editedit Crea un vínculo de lectura y escritura para el objeto DriveItem.Creates a read-write link to the DriveItem.
Insertarembed Crea un vínculo insertable para el objeto DriveItem.Creates an embeddable link to the DriveItem. Esta opción solo está disponible para archivos en OneDrive Personal.This option is only available for files in OneDrive personal.

Tipos de ámbitosScope types

Se permiten los siguientes valores para el parámetro scope.The following values are allowed for the scope parameter. Si el parámetro scope no se especifica, se crea el tipo de vínculo predeterminado para la organización.If the scope parameter is not specified, the default link type for the organization is created.

ValorValue DescripciónDescription
maneraanonymous Cualquier persona con el vínculo tiene acceso, sin necesidad de iniciar sesión.Anyone with the link has access, without needing to sign in. Se incluyen personas de fuera de su organización.This may include people outside of your organization. Un administrador puede deshabilitar la compatibilidad con vínculos anónimos.Anonymous link support may be disabled by an administrator.
organizaciónorganization Cualquier persona que haya iniciado sesión en su organización (espacio empresarial) podrá usar el vínculo para obtener acceso.Anyone signed into your organization (tenant) can use the link to get access. Disponible solo en OneDrive para la Empresa y en SharePoint.Only available in OneDrive for Business and SharePoint.

RespuestaResponse

Si se ejecuta correctamente, este método devuelve un recurso Permission único en el cuerpo de la respuesta que representa los permiso de uso compartido solicitados.If successful, this method returns a single Permission resource in the response body that represents the requested sharing permissions.

La respuesta será 201 Created si se crea un nuevo vínculo para compartir el elemento o 200 OK si se devuelve un vínculo existente.The response will be 201 Created if a new sharing link is created for the item or 200 OK if an existing link is returned.

EjemploExample

En el ejemplo siguiente, se solicita un vínculo para compartir que se creará para el objeto DriveItem especificado por {itemId} en el OneDrive del usuario.The following example requests a sharing link to be created for the DriveItem specified by {itemId} in the user's OneDrive. El vínculo para compartir está configurado para que sea de solo lectura y lo pueda usar cualquier usuario que tenga el vínculo.The sharing link is configured to be read-only and usable by anyone with the link.

SolicitudRequest

POST /me/drive/items/{itemId}/createLink
Content-type: application/json

{
  "type": "view",
  "password": "ThisIsMyPrivatePassword",
  "scope": "anonymous"
}

RespuestaResponse

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["write"],
  "link": {
    "type": "view",
    "scope": "anonymous",
    "webUrl": "https://1drv.ms/A6913278E564460AA616C71B28AD6EB6",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  },
  "hasPassword": true
}

OneDrive para la Empresa y SharePoint admiten vínculos de empresa para compartir.OneDrive for Business and SharePoint support company sharable links. Son similares a los vínculos anónimos, pero solo funcionan para los miembros de la organización propietaria.These are similar to anonymous links, except they only work for members of the owning organization. Para crear un vínculo de empresa para compartir, utilice el parámetro de ámbito con un valor de organization.To create a company sharable link, use the scope parameter with a value of organization.

SolicitudRequest

POST /me/drive/items/{item-id}/createLink
Content-Type: application/json

{
  "type": "edit",
  "scope": "organization"
}

RespuestaResponse

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["write"],
  "link": {
    "type": "edit",
    "scope": "organization",
    "webUrl": "https://contoso-my.sharepoint.com/personal/ellen_contoso_com/...",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  }
}

Cuando se utiliza el tipo de vínculo embed, la webUrl que se devuelve se puede insertar en un elemento HTML <iframe>. Cuando se crea un vínculo para insertar, la propiedad webHtml contiene el código HTML de un <iframe> para hospedar el contenido.When using the embed link type, the webUrl returned can be embedded in an <iframe> HTML element. When an embed link is created the webHtml property contains the HTML code for an <iframe> to host the content.

Nota: La acción de insertar vínculos solo se admite en OneDrive Personal.Note: Embed links are only supported for OneDrive personal.

SolicitudRequest

POST /me/drive/items/{item-id}/createLink
Content-Type: application/json

{
  "type": "embed"
}

RespuestaResponse

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "123ABC",
  "roles": ["read"],
  "link": {
    "type": "embed",
    "webHtml": "<IFRAME src=\"https://onedrive.live.com/...\"></IFRAME>",
    "webUrl": "https://onedive.live.com/...",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  }
}

ComentariosRemarks

  • Los vínculos creados con esta acción no caducan a menos que la organización fuerce una política de caducidad de forma predeterminada.Links created using this action do not expire unless a default expiration policy is enforced for the organization.
  • Los vínculos se pueden ver en los permisos de uso compartido del elemento y los puede eliminar un propietario del elemento.Links are visible in the sharing permissions for the item and can be removed by an owner of the item.
  • Los vínculos siempre señalan la versión actual de un elemento, a menos que el elemento esté desprotegido (solo en SharePoint).Links always point to the current version of a item unless the item is checked out (SharePoint only).