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. |
Vínculos de uso compartido
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.
Vínculo de visualización
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"
}
Vínculo de edición
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"
}
Vínculo de usuarios específicos
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"
}
Vínculo de Access existente
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 permisos | POST /drive/items/{item-id}/invite |
Actualizar permiso | PATCH /drive/items/{item-id}/permissions/{id} |
Eliminar permiso | DELETE /drive/items/{item-id}/permissions/{id} |
Concesión de acceso al vínculo de uso compartido | POST /shares/{encoded-sharing-url}/permission/grant |