Estoy tratando de usar la siguiente llamada API Auth0: https://auth0.com/docs/api/management/v2#!/Users/patch_users_by_id
const sUserMetadata = async () => { const domain = "xxxxxxxxxxxxxxx" try { const accessToken = await getAccessTokenSilently({ audience: `${domain}/api/v2/`, scope: "update:current_user_metadata", }); const userDetailsByIdUrl = `${domain}/api/v2/users/${user.sub}`; const metadataResponse = await fetch(userDetailsByIdUrl, { method: 'PATCH', headers: { Authorization: `Bearer ${accessToken}`, }, body: { "email_verified": true } }) let user_metadata = await metadataResponse; console.log(user_metadata) } catch (e) { console.log(e.message); } }; sUserMetadata().then(r => null);Recibo el siguiente error de respuesta:
{"statusCode":400,"error":"Bad Request","message":"Payload validation error: 'Expected type object but found type string'.","errorCode":"invalid_body"}Obviamente, Body-Tag lo proporciona en la forma correcta con Bracets {}, ¡así que debería! ser un Objeto.
Yo he tratado:
JSON.parse()
Intenté agregar Content-Type que da como resultado un maldito "ERROR DE SINTAXIS" debido al tipo - content-type que no tiene ningún sentido porque bajo el depurador de Chrome obviamente puedo ver que hay una propiedad llamada content-type: text/plain;charset=UTF-8 y no tengo idea de qué más se supone que debo cambiar esto.
headers: { Authorization: `Bearer ${accessToken}`, Content-Type: 'application/json', },Poner Content-Type dentro de los apóstrofes 'Content-Type' para que no dé un error de sintaxis y luego usar JSON.Stringify() en la parte Body-Tag soluciona el problema.
const metadataResponse = await fetch(userDetailsByIdUrl, { method: 'PATCH', headers: { Authorization: `Bearer ${accessToken}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ "user_metadata" : { "addresses": {"work_address": "100 Industrial Way"} }}), })PD: sálvame de javascript por favor