Compartir a través de


Crear permiso 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.

Cree un nuevo objeto de permiso en un driveItem.

Importante

Esta API tiene las siguientes restricciones:

  • Para OneDrive para el trabajo o la escuela y SharePoint Online, solo puede usar este método para crear un nuevo permiso de aplicación. Si desea crear un nuevo permiso de usuario en un driveItem, consulte invitar. Para obtener más información sobre los permisos de aplicación, vea Información general sobre los permisos seleccionados en OneDrive y SharePoint.
  • Para SharePoint Embedded, solo puede usar este método para crear un nuevo permiso sharePointGroup con acceso de solo aplicación. No se puede crear un permiso en el elemento raíz de un contenedor.

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

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.ReadWrite Files.ReadWrite.All, Files.SelectedOperations.Selected, Sites.ReadWrite.All, Sites.FullControl.All, Sites.Manage.All, Sites.Selected, Lists.SelectedOperations.Selected, ListItems.SelectedOperations.Selected
Delegado (cuenta personal de Microsoft) Files.ReadWrite Files.ReadWrite.All
Aplicación Files.ReadWrite.All Sites.FullControl.All, Sites.Manage.All, Sites.ReadWrite.All, Sites.Selected, Files.SelectedOperations.Selected, Lists.SelectedOperations.Selected, ListItems.SelectedOperations.Selected

Nota:

SharePoint Embedded requiere el FileStorageContainer.Selected permiso 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, vea Autenticación y autorización de SharePoint Embedded.

Solicitud HTTP

POST /drives/{drive-id}/items/{item-id}/permissions
POST /groups/{group-id}/drive/items/{item-id}/permissions
POST /me/drive/items/{item-id}/permissions
POST /sites/{siteId}/drive/items/{itemId}/permissions
POST /users/{userId}/drive/items/{itemId}/permissions

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.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON del objeto de permiso .

Importante

  • Esta API solo acepta grantedToV2 como entrada para el objeto de permiso . Otras propiedades como grantedToIdentitiesV2 o en desuso grantedTo y grantedToIdentities no se aceptan.
  • Para SharePoint Embedded, al crear un nuevo permiso sharePointGroup , el cuerpo de la solicitud debe incluir tanto el iddisplayName grupo de sharePoint como el al que se hace referencia en la grantedToV2.siteGroup propiedad . Consulte el ejemplo 2.

Respuesta

Si se ejecuta correctamente, este método devuelve un 201 Created código de respuesta y un objeto de permiso en el cuerpo de la respuesta.

Ejemplos

Ejemplo 1: Agregar un permiso de aplicación a un driveItem en OneDrive o SharePoint Online

En el ejemplo siguiente se muestra cómo agregar un writepermiso para la Contoso Time Manager Appaplicación identificada por 89ea5c94-7736-4e25-95ad-3fa95f62b66e, en un driveItem identificado por 01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU en una unidad identificada por b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/beta/drives/b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop/items/01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU/permissions
Content-Type: application/json

{
  "grantedToV2": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e"
    }
  },
  "roles": ["write"]
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "aTowaS50fG1zLnNwLmV4dHw4OWVhNWM5NC03NzM2LTRlMjUtOTVhZC0zZmE5NWY2MmI2NmVAZDljZTBmYzEtNjFkOC00YTJlLWI1ZDMtMTg3NzBkZjA2NzJj",
  "roles": [
    "write"
  ],
  "grantedTo": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e",
      "displayName": "Contoso Time Manager App"
    }
  },
  "grantedToV2": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e",
      "displayName": "Contoso Time Manager App"
    }
  }
}

Ejemplo 2: Agregar un permiso de grupo de SharePoint a un driveItem en un contenedor de SharePoint Embedded

En el ejemplo siguiente se muestra cómo agregar un writepermiso para sharePointGroupInternal Collaborators en un driveItem identificado por 01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU en un archivo incrustado de SharePointStorageContainer identificado por b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/beta/drives/b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop/items/01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU/permissions
Content-Type: application/json

{
  "grantedToV2": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  },
  "roles": ["write"]
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "aTowaS50fG1zLnNwLmV4dHwxMEBkOWNlMGZjMS02MWQ4LTRhMmUtYjVkMy0xODc3MGRmMDY3MmM=",
  "roles": [
    "write"
  ],
  "grantedToV2": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  },
  "grantedTo": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  }
}