Enumerar permisos de uso compartido en un driveItem

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.

Enumere los permisos de uso compartido efectivos en un driveItem.

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Acceso a permisos de uso compartido

La colección de permisos incluye información potencialmente confidencial y puede no estar disponible para todos los autores de llamadas.

  • Para el propietario del elemento, se devuelven todos los permisos de uso compartido. Incluye copropietarios.
  • Para un autor de llamada que no sea el propietario, se devuelven solo los permisos de uso compartido que se aplican al autor de la llamada.
  • Las propiedades de permisos de uso compartido que contienen secretos (por ejemplo, shareId y webUrl) solo se devuelven para los autores de llamadas que pueden crear el permiso de uso compartido.

Permissions

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.Read Files.Read.All, Files.ReadWrite, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
Delegado (cuenta personal de Microsoft) Files.Read Files.Read.All, Files.ReadWrite, Files.ReadWrite.All
Aplicación Files.Read.All Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All

Solicitud HTTP

GET /drives/{drive-id}/items/{item-id}/permissions
GET /groups/{group-id}/drive/items/{item-id}/permissions
GET /me/drive/items/{item-id}/permissions
GET /me/drive/root:/{path}:/permissions
GET /sites/{siteId}/drive/items/{itemId}/permissions
GET /users/{userId}/drive/items/{itemId}/permissions

Parámetros de consulta opcionales

Este método admite los $selectparámetros de consulta de OData para personalizar la respuesta.

Encabezados de solicitud opcionales

Nombre Tipo Descripción
if-none-match string Si se incluye este encabezado de la solicitud y el ETag proporcionado coincide con el ETag actual del elemento, se devuelve una respuesta HTTP 304 Not Modified.

Respuesta

Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK y una colección de recursos de Permission en el cuerpo de la respuesta.

Los permisos de uso compartido efectivos de un driveItem pueden proceder de dos orígenes:

  • Permisos de uso compartido aplicados directamente en el propio driveItem
  • Permisos de uso compartido heredados de los antecesores de driveItem

Los autores de llamadas pueden distinguir si el permiso se hereda o no comprobando la propiedad inheritedFrom. Esta propiedad es un recurso itemReference que hace referencia al antecesor del que se hereda el permiso.

Ejemplo

En este ejemplo, se recupera la colección de permisos en un elemento de la unidad del usuario que ha iniciado sesión.

GET /me/drive/items/{item-id}/permissions

Respuesta

Esta respuesta de ejemplo incluye tres permisos, el primero es un vínculo para compartir con permisos de edición, el segundo es un permiso explícito para un usuario llamado John, que se ha heredado de una carpeta principal, y el tercero es un vínculo para compartir de lectura y escritura creado por una aplicación.

HTTP/1.1 200 OK
Content-Type: application/json


{
  "value": [
    {
      "id": "1",
      "roles": ["write"],
      "link": {
        "webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
        "type": "edit"
      }
    },
    {
      "id": "2",
      "@deprecated.GrantedTo": "GrantedTo has been deprecated. Refer to GrantedToV2",
      "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"
        }
      },
      "inheritedFrom": {
        "driveId": "1234567890ABD",
        "id": "1234567890ABC!123",
        "path": "/drive/root:/Documents" }
    },
    {
      "id": "3",
      "roles": ["write"],
      "link": {
        "webUrl": "https://onedrive.live.com/redir?resid=5D33DD65C6932946!70859&authkey=!AL7N1QAfSWcjNU8&ithint=folder%2cgif",
        "type": "edit",
        "application": {
          "id": "12345",
          "displayName": "Contoso Time Manager"
        }
      }
    }
  ]
}

Comentarios

La relación de permisos de driveItem no se puede expandir como parte de una llamada para obtener driveItem o una colección de driveItems. Debe tener acceso a la propiedad de permisos directamente.

Respuestas de error

Lea el tema Respuestas de error para obtener más información sobre cómo se devuelven los errores.