¡Necesito obtener el token de acceso de SharePoint para poder cargar algunos archivos! Obtuve el token de acceso del cartero con éxito, ¡pero cuando intento hacer la misma solicitud con Javascript!
const generateToken = async () => { const headers = { "Content-Type": "application/x-www-form-urlencoded" }; var formdata = {}; formdata["grant_type"] = "client_credentials"; formdata["client_id"] = "<client_id>"; formdata["client_secret"] = "<client_secret>"; formdata["resource"] = "00000003-0000-0ff1-ce00-000000000000/site_url@tenant_id"; const body = Object.keys(formdata) .map((key) => `${key}=${formdata[key]}`) .join("&"); var requestOptions = { method: "POST", headers, body, }; await fetch( "https://accounts.accesscontrol.windows.net/<tenant_id>/tokens/OAuth/2", requestOptions ) .then((response) => response.json()) .then((result) => console.log(result)) .catch((error) => console.log("error", error)); }; generateToken();cuando ejecuto la página que tiene este script, aparece este error
error TypeError: Failed to fetch at generateToken Pero IDK por qué el estado de respuesta es 200 OK , sin devolver el cuerpo que contiene access_token
¡Cualquier ayuda es muy apreciada!
No puede obtener el token de javascript de esa manera, solo de aplicaciones de una sola página debido a problemas de seguridad: expone el secreto de su cliente.
En su lugar, puede usar la Biblioteca de autenticación de Microsoft (MSAL) para JS.