Compartir a través de


Enumerar permisos de uso compartido en un driveItem

Espacio de nombres: microsoft.graph

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 devolverán todos los permisos de uso compartido. Esto incluye los 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 información confidencial (por ejemplo, shareId y webUrl) se devuelven solo a los autores de llamadas que pueden crear el permiso de uso compartido.

Permisos

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

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.
Content-Type application/json. Obligatorio.
if-none-match Cadena. 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 objeto DriveItem pueden provenir de dos orígenes:

  • Permisos de uso compartido que se aplican directamente en el propio objeto DriveItem
  • Permisos de uso compartido heredados de los antecesores del objeto 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 permisos del objeto DriveItem no se puede expandir como parte de una llamada a get DriveItem o una colección de objetos DriveItem. 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 la manera en que se devuelven los errores.