RemyBosman
Hola a todos,
Me encuentro con un problema que me mantiene ocupado durante bastante tiempo. Mi objetivo es actualizar las credenciales de la fuente de datos a través de PowerShell. Ahora lo estoy probando a través del panel de prueba de API REST de MS. Mi código de Powershell se encuentra exactamente con el mismo problema.
Guión:
Conjunto de datos con dos conexiones: 1 conexión a SharePoint, 1 conexión a SQL.
La actualización de las conexiones SQL funciona bien, estoy usando el cuerpo de solicitud básico como se describe aquí.
La realización de la misma actualización en la conexión de SharePoint con el cuerpo de OAUth2 falla. Debajo del cuerpo que estoy usando (obviamente con otro valor de accesstoken.
Probé varios métodos para recuperar el token de acceso, y no tengo idea de qué forma de recuperarlo es correcta …
Método 1: Recuperarlo a través de Get-PowerBIAccesToken
Método 2: a través de mi aplicación registrada en SharePoint con permiso FullControl en el sitio correspondiente.
La respuesta de error es. ¡Cualquier ayuda sería muy apreciada! 🙂
RemyBosman
Ok, me di cuenta de este. Parece que solicitar un token de acceso por ‘grant_type’ = ‘contraseña’ hace el trabajo, mientras que solicitarlo a través de ‘grant_type’ = ‘client_credentials’ no lo hace.
Debajo del primer escenario que funciona, la respuesta incluye un token de actualización.
El segundo escenario no funciona.
RicoZhou
Hola @RemyBosman
Su solicitud proviene de este ejemplo de credenciales OAuth2 de blog, debe ser correcta.
API de descanso:
PATCH https://api.powerbi.com/v1.0/myorg/gateways/{gatewayId}/datasources/{datasourceId}
Cuerpo:
{
"credentialDetails": {
"credentialType": "OAuth2",
"credentials": "{"credentialData":[{"name":"accessToken", "value":"eyJ0....fwtQ"}]}",
"encryptedConnection": "Encrypted",
"encryptionAlgorithm": "None",
"privacyLevel": "None"
}
}
Pruebe los pasos que se indican a continuación para obtener el token de acceso de sharepoint correcto.
Para referencia:
https://stackoverflow.com/questions/63321532/sharepoint-rest-api-how-to-get-access-token
https://anexinet.com/blog/getting-an-access-token-for-sharepoint-online/
Atentamente,
Rico Zhou
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
RemyBosman
En respuesta a RicoZhou
@RicoS Gracias por tu respuesta.
Probé ambos escenarios (el registro de la aplicación en SP y el registro de la aplicación en Azure AD). Ambas situaciones me dan un token de acceso. Ambos tokens de acceso no son aceptados por la solicitud que estoy enviando al punto final a continuación.
PATCH https://api.powerbi.com/v1.0/myorg/gateways/{gatewayId}/datasources/{datasourceId}
¿Es posible que lo pruebes tú mismo? Realmente me gustaría saber si esto es solo que yo no puedo hacer esto, o que la API no funciona correctamente.