Estoy tratando de subir un video a Pinterest, así que seguí las instrucciones en sus documentos aquí
Así es como intenté la carga
let headers = { 'Authorization': `Bearer ${access_token}` } let videoUploadIntentEndpoint = `https://api.pinterest.com/v5/media`; let videoUploadIntentResponse = await axios.post(videoUploadIntentEndpoint, { "media_type": "video" }, { headers: headers } ); let { media_id, upload_parameters, media_type, upload_url } = videoUploadIntentResponse.data; if (media_id && upload_url) { try { let vidUploadParams = new URLSearchParams(); vidUploadParams.append("file", got.stream(mediaUrl)); let videoUploadResponse = await axios.post(upload_url, vidUploadParams, { headers: { ...upload_parameters } }); let vidData = videoUploadResponse.data; console.log(`Pinterest Video Successful with Data`); console.log(JSON.stringify(vidData, null, 2)); } catch (vidError) { console.log(`Pinterest Video Upload Error`); console.log(vidError); } }Y el error que sigo recibiendo es
AccessDeniedNo se presentó AWSAccessKey.AFHHW0M2afafafR9N8afafafafafafa+g5y3qsXqKwta0eN6ND03J7UDEjpk4F1/qbFrfec=
¿Cómo puedo resolver esto?
Gracias
El documento no es muy claro, pero los parámetros de carga deben enviarse junto con el archivo en el cuerpo , no en los encabezados . "Envíe el contenido del archivo de medios como el parámetro de archivo de la solicitud y también incluya todos los parámetros de upload_parameters" (esto es confuso porque Content-Type todavía pertenece a los encabezados)
(la AWSAccessKey de la que habla el error es la primera parte de la cadena x-amz-credentials )