Tipo de recurso Permission

Espacio de nombres: microsoft.graph

El recurso Permission proporciona información sobre un permiso de uso compartido concedido para un recurso DriveItem.

Los permisos de uso compartido tienen muchos formularios diferentes. El recurso Permission representa estas formas diferentes a través de facetas en el recurso.

OneDrive para la Empresa y las bibliotecas de documentos de SharePoint no devuelven la propiedad inheritedFrom. grantedTo y grantedToIdentities están en desuso en el futuro y la respuesta se migrará a grantedToV2 y grantedToIdentitiesV2 respectivamente con los nombres de propiedad adecuados.

Representación JSON

La siguiente representación JSON muestra el tipo de recurso.


{
  "id": "string (identifier)",
  "grantedTo": {"@odata.type": "microsoft.graph.identitySet"},
  "grantedToIdentities": [{"@odata.type": "microsoft.graph.identitySet"}],
  "grantedToV2": {"@odata.type": "microsoft.graph.sharePointIdentitySet"},
  "grantedToIdentitiesV2": [{"@odata.type": "microsoft.graph.sharePointIdentitySet"}],
  "inheritedFrom": {"@odata.type": "microsoft.graph.itemReference"},
  "invitation": {"@odata.type": "microsoft.graph.sharingInvitation"},
  "link": {"@odata.type": "microsoft.graph.sharingLink"},
  "roles": ["string"],
  "shareId": "string",
  "expirationDateTime": "string (timestamp)",
  "hasPassword": "boolean"
}

Propiedades

Propiedad Tipo Descripción
expirationDateTime DateTimeOffset Un formato de aaaa-mm-ddThh:mm:ssZ de DateTimeOffset indica la hora de expiración del permiso. DateTime.MinValue indica que no hay ningún conjunto de expiración establecido para este permiso. Opcional.
id String El identificador único del permiso entre todos los permisos del elemento. Solo lectura.
hasPassword Booleano Indica si la contraseña está establecida para este permiso. Esta propiedad solo aparece en la respuesta. Opcional. Solo lectura. Solo para OneDrive Personal.
grantedTo (en desuso) IdentitySet Para los permisos de tipo de usuario, los detalles de los usuarios y aplicaciones para este permiso. Solo lectura.
grantedToIdentities (en desuso) Collection(IdentitySet) Para los permisos de tipo de vínculo, la información de los usuarios a los que se les ha concedido el permiso. Solo lectura.
grantedToIdentitiesV2 Colección(SharePointIdentitySet) Para los permisos de tipo de vínculo, la información de los usuarios a los que se les ha concedido el permiso. Solo lectura.
grantedToV2 SharePointIdentitySet Para los permisos de tipo de usuario, los detalles de los usuarios y aplicaciones para este permiso. Solo lectura.
inheritedFrom ItemReference Proporciona una referencia al antecesor del permiso actual, si se hereda de un antecesor. Solo lectura.
invitation SharingInvitation Detalles de cualquier invitación para uso compartido asociada de este permiso. Solo lectura.
link SharingLink Proporciona los detalles del vínculo del permiso actual, si es un permiso de tipo de vínculo. Solo lectura.
roles Colección de String. El tipo de permiso, por ejemplo, read. Más adelante encontrará una lista completa de roles. Solo lectura.
shareId Cadena Un token único que se puede usar para tener acceso a este elemento compartido a través de la API shares. Solo lectura.

El recurso de permiso usa facetas para proporcionar información sobre el tipo de permiso que representa el recurso.

Los permisos con una faceta link representan vínculos para compartir creados en el elemento. Los vínculos para compartir contienen un token único que proporciona acceso al elemento a cualquier usuario con el vínculo.

Los permisos con una faceta de invitación representan los permisos agregados invitando a usuarios o grupos específicos a tener acceso al archivo.

Roles y valores de la propiedad

Valor Description
read Proporciona la capacidad de leer los metadatos y el contenido del elemento.
write Proporciona la capacidad de leer y modificar los metadatos y el contenido del elemento.
owner Para SharePoint y OneDrive para la Empresa, representa el rol de propietario.

El tipo de permisos más común es compartir vínculos. Los vínculos para compartir proporcionan una dirección URL única que incluye el recurso que se va a compartir y un token de autenticación que proporciona acceso al recurso. Los usuarios no necesitan iniciar sesión para tener acceso al contenido compartido con un vínculo para compartir. Los usuarios pueden compartir un vínculo que proporcione acceso de solo lectura al contenido o acceso de escritura al contenido.

Un vínculo de visualización proporciona acceso de solo lectura a un elemento.

{
  "id": "1",
  "roles": ["read"],
  "link": {
    "type": "view",
    "webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
    "application": { "id": "1234", "displayName": "Sample Application" }
  },
  "shareId": "!LKj1lkdlals90j1nlkascl",
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Un vínculo de edición proporciona acceso de lectura y escritura a un elemento.

{
  "id": "2",
  "roles": ["write"],
  "link": {
    "type": "edit",
    "webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
    "application": { "id": "1234", "displayName": "Sample Application" }
  },
  "shareId": "!LKj1lkdlals90j1nlkascl",
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Este vínculo proporciona acceso de lectura y escritura a los usuarios específicos de la colección grantedToIdentities.

{
  "id": "3",
  "grantedToIdentities": [
    {
       "user": {
        "id": "35fij1974gb8832",
        "displayName": "Misty Suarez"
      }
    },
    {
       "user": {
        "id": "9397721fh4hgh73",
        "displayName": "Judith Clemons"
      }
    }
  ],
  "grantedToIdentitiesV2": [
    {
       "user": {
        "id": "35fij1974gb8832",
        "displayName": "Misty Suarez"
      },
      "siteUser": {
        "id": "1",
        "displayName": "Misty Suarez",
        "loginName": "Misty Suarez"
      }
    },
    {
       "user": {
        "id": "9397721fh4hgh73",
        "displayName": "Judith Clemons"
      },
      "siteUser": {
        "id": "2",
        "displayName": "Judith Clemons",
        "loginName": "Judith Clemons"
      }
    }
  ],
  "roles": ["write"],
  "link": {
    "webUrl": "https://contoso.sharepoint.com/:w:/t/design/a577ghg9hgh737613bmbjf839026561fmzhsr85ng9f3hjck2t5s",
    "application": { "id": "1234", "displayName": "Sample Application" }
  },
  "shareId": "!LKj1lkdlals90j1nlkascl",
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Este vínculo no concede privilegios adicionales al usuario.

{
  "id": "00000000-0000-0000-0000-000000000000",
  "roles": ["read"],
  "link": {
    "scope": "existingAccess",
    "type": "view",
    "webUrl": "https://contoso.sharepoint.com/:w:/t/design/Shared%20Documents/SampleDoc.docx?d=w12345",
  },
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Invitación para uso compartido

Además de crear vínculos para compartir, un usuario puede ser invitado por una dirección de correo electrónico. En este escenario, el permiso crea una invitación que se envía al correo electrónico del usuario.

Invitación a una dirección de correo electrónico

Si el permiso se envió a través de una dirección de correo electrónico a un destinatario que no tiene una cuenta coincidente, es posible que la propiedad grantedTo no se establezca hasta que se canjee la invitación, lo que ocurre la primera vez que un usuario selecciona el vínculo e inicia sesión.

{
  "id": "1",
  "roles": ["write"],
  "invitation": {
    "email": "jd@contoso.com",
    "signInRequired": true
  },
  "shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U",
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Después de que la invitación de uso compartido se ha canjeado por un usuario, la propiedad grantedTo contendrá la información sobre la cuenta que canjea los permisos:

{
  "id": "1",
  "roles": ["write"],
  "grantedTo": {
    "user": {
      "id": "5D33DD65C6932946",
      "displayName": "Robin Danielsen"
    }
  },
  "grantedToV2": {
    "user": {
      "id": "5D33DD65C6932946",
      "displayName": "Robin Danielsen"
    },
    "siteUser": {
      "id": "1",
      "displayName": "Robin Danielsen",
      "loginName": "Robin Danielsen"
    }
  },
  "invitation": {
    "email": "rd@contoso.com",
    "signInRequired": true
  },
  "shareId": "FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U",
  "expirationDateTime": "0001-01-01T00:00:00Z"
}

Métodos

Método Ruta de acceso a REST
Enumerar permisos GET /drive/items/{item-id}/permissions
Obtener permiso GET /drive/items/{item-id}/permissions/{id}
Agregar POST /drive/items/{item-id}/invite
Actualizar PATCH /drive/items/{item-id}/permissions/{id}
Eliminar DELETE /drive/items/{item-id}/permissions/{id}
Agregar usuarios al enlace para compartir POST /shares/{encoded-sharing-url}/permission/grant