The process of building custom applications and tools that interact with Microsoft SharePoint, including SharePoint Online in Microsoft 365.
*Como la descripción de su problema está escrita principalmente en español, le responderé en español para su comodidad. Si prefiere recibir la información en otro idioma, no dude en indicármelo.
*Esta respuesta se ha traducido automáticamente, por lo que puede contener errores gramaticales o expresiones poco naturales.
Hola Victor,
Gracias por la información detallada.
Hay un punto que me gustaría verificar: el valor que aparece como {objectId} en tu ejemplo. ¿Era simplemente un marcador de posición o el permiso del sitio se concedió realmente utilizando el Object"id"? Para Sites.Selected, el valor de application.id en la concesión de permisos del sitio debe ser el Application ID. Si se utilizó el Object "id" en su lugar, es posible que el permiso no esté asociado con la aplicación prevista.
Además, separaría la prueba GET /sites/{site-id}/permissions de las demás. Ese endpoint requiere Sites.FullControl.All, por lo que sería esperable recibir un error 403 si solo se utiliza Sites.Selected. El problema más importante es que GET /sites/{site-id} y los endpoints relacionados con la unidad (drive) también están devolviendo errores 403.
Si se confirma que el Application (Client) "id" es correcto, recomendaría comprobar si el sitio está sujeto a un Authentication Context, una sensitivity label o una política de Conditional Access que pueda bloquear el acceso app-only.
¿Podrías confirmar si el permiso del sitio se concedió utilizando el Application (Client) "id" y compartir la respuesta de error completa, incluidos el request-id y el correlation-id, de una solicitud GET /sites/{site-id} que esté fallando?
Puedes consultar los detalles en este documento:
Directiva de acceso condicional - SharePoint in Microsoft 365 | Microsoft Learn
Descripción del consentimiento específico de recursos para Microsoft Graph y SharePoint Online | Mi…