driveItem: createLink

Espacio de nombres: microsoft.graph

Importante

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.

Crear un vínculo para compartir un elemento de driveItem driveItem.

La acción createLink crea un nuevo vínculo para compartir si el tipo de vínculo especificado aún no existe para la aplicación de llamada. Si ya existe un vínculo para compartir del tipo especificado para la aplicación, se devuelve el vínculo para compartir existente.

Los recursos DriveItem heredan permisos de uso compartido de sus antecesores.

Esta API está disponible en las siguientes implementaciones en la nube nacional.

Servicio global Administración pública de EE. UU. Gobierno de EE. UU. L5 (DOD) China operado por 21Vianet
✅ ✅ ✅ ✅

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos 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

Nota:

SharePoint Embedded requiere permiso FileStorageContainer.Selected para acceder al contenido del contenedor. Este permiso es diferente de los mencionados anteriormente. Además de los permisos de Microsoft Graph, la aplicación debe tener los permisos de tipo de contenedor necesarios para llamar a esta API. Para obtener más información, consulte Autenticación y autorización de SharePoint Embedded.

Solicitud HTTP

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

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización.
Content-Type application/json. Obligatorio.

Cuerpo de solicitud

El cuerpo de la solicitud define las propiedades del vínculo para compartir que solicita su aplicación. La solicitud debe ser un objeto JSON con las siguientes propiedades.

Propiedad Tipo Descripción
tipo Cadena Opcional. El tipo de vínculo para compartir que se creará.
ámbito String Opcional. El ámbito del vínculo que se creará. O bien anonymous, organization, o users
expirationDateTime DateTimeOffset Opcional. Una cadena con formato de aaaa-MM-ddTHH:mm:ssZ de DateTime indica la hora de expiración del permiso.
password String Opcional. El creador establece la contraseña para compartir.
destinatarios colección driveRecipient Opcional. Colección de destinatarios que reciben acceso al vínculo para compartir.
retainInheritedPermissions Booleano Opcional. Si true es (predeterminado), los permisos heredados existentes se conservan en el elemento compartido al compartir este elemento por primera vez. Si false, todos los permisos existentes se quitan al compartir por primera vez. No es compatible con SharePoint Embedded.
sendNotification Booleano Si true, este método envía un vínculo para compartir en un correo electrónico a los usuarios especificados en recipients. Aplicable a OneDrive para la Empresa o SharePoint. El valor predeterminado es false. Opcional.

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 a driveItem.
de comentarios Crea un vínculo de reseña a driveItem. Esta opción solo está disponible para los archivos de OneDrive para la Empresa y SharePoint.
edit Crea un vínculo de lectura y escritura a driveItem.
Insertar Crea un vínculo insertable a driveItem.
blocksDownload Crea un vínculo de solo lectura que bloquea la descarga en el elemento unidad. 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 de unidad. 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 este tipo de vínculo es compatible y especifica qué características admite.
adminDefault Crea el vínculo predeterminado a driveItem 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. Puede incluir 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 del destinatario 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 recurso Permission único en el cuerpo de la respuesta que representa los permiso de uso compartido solicitados.

La respuesta es 201 Created si se crea un nuevo vínculo para compartir para el elemento de unidad o 200 OK si se devuelve un vínculo existente.

Ejemplos

En el ejemplo siguiente se solicita que se cree un vínculo para compartir para el elemento de unidad especificado por {itemId} en el OneDrive del usuario. 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 usuarios de OneDrive para la Empresa y SharePoint, use el sendNotification parámetro para crear un vínculo para compartir. El vínculo para compartir se envía a los destinatarios por correo electrónico. Todos los permisos existentes se quitan al compartir por primera vez si retainInheritedPermissions es falso.

Solicitud

POST https://graph.microsoft.com/beta/me/drive/items/{itemId}/createLink
Content-Type: application/json

{
  "type": "view",
  "scope": "anonymous",
  "password": "String",
  "recipients": [
    {
      "@odata.type": "microsoft.graph.driveRecipient"
    }
  ],
  "sendNotification": true,
  "retainInheritedPermissions": false
}

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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. Son similares a los enlaces 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.

Solicitud

POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/createLink
Content-Type: application/json

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

Respuesta

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 de inserción, la webHtml propiedad contiene el código HTML para <iframe> hospedar el contenido.

Nota: La acción de insertar vínculos solo se admite en OneDrive Personal.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/createLink
Content-Type: application/json

{
  "type": "embed"
}

Respuesta

En el ejemplo siguiente se muestra la solicitud.

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"
    },
  }
}

Comentarios

  • Para crear un vínculo basado en la directiva predeterminada de la organización y los permisos del autor de la llamada en driveItem, 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 están visibles en los permisos de uso compartido de driveItem y pueden ser eliminados por el propietario de driveItem.
  • Los vínculos siempre apuntan a la versión actual de un elemento de unidad, a menos que esté desprotegido (solo SharePoint ).