Al intentar seguir el tutorial de inicio rápido de Etsys Open API v3 ( https://developers.etsy.com/documentation/tutorials/quickstart ), encontré un error en el que la solicitud que estoy haciendo a Etsy se considera una 400 bad request . Mi implementación hasta ahora es la siguiente.
Obtuve con éxito una cadena de keystring API (sin solicitar acceso completo) e hice una solicitud de ping exitosa para devolver la identificación de mi aplicación como se muestra en el tutorial.
Usando el script de código generator.js proporcionado, he podido generar un desafío de código, un verificador y una URL.
Luego tomé esta URL completa y la pegué como href en index.hbs.
Al intentar implementar la ruta redirect_uri (en server.js), configuré ClientID en la cadena de clave API proporcionada por Etsy y configuré keystring como el clientVerifier de código devuelto por el script code-generator.js.
También accedí a mi aplicación en Etsy y agregué http://localhost:3003/oauth/redirect (y https://api.etsy.com/v3/public/oauth/token ) como URL de devolución de llamada.
El resto del código lo dejé intacto. Usando node server.js, puedo js y visitar http://localhost:3003, hacer clic en autenticar con Etsy y me encuentro con 'ups'
Desde mi terminal de nodo, puedo ver el siguiente error 400 que sugiere que la solicitud fue incorrecta:
Response { size: 0, timeout: 0, [Symbol(Body internals)]: { body: PassThrough { _readableState: [ReadableState], _events: [Object: null prototype], _eventsCount: 5, _maxListeners: undefined, _writableState: [WritableState], allowHalfOpen: true, [Symbol(kCapture)]: false, [Symbol(kCallback)]: null }, disturbed: false, error: null }, [Symbol(Response internals)]: { url: 'https://api.etsy.com/v3/public/oauth/token', status: 400, statusText: 'Bad Request', headers: Headers { [Symbol(map)]: [Object: null prototype] }, counter: 0 } }Aprecio que no siempre es aconsejable copiar y pegar el código, pero teniendo en cuenta que este es un tutorial de inicio rápido, pensé que estaría bien. Lamentablemente no...
Simplemente quiero que la dirección de correo electrónico del miembro propietario de la aplicación (o cualquier otro dato, ya que esto es solo para fines de prueba) se devuelva como JSON.
Apreciaría que alguien que haya superado con éxito este tutorial (o que pueda escanear mi intento) me haga saber mi estúpido error. Alternativamente, si alguien conoce algún tutorial razonable sobre cómo realizar una solicitud a una API que funcione en este caso, también sería apreciado.
TLDR: solicitud de API 400 error, ayuda por favor
Saludos, CF
A menudo, se le transmite un cuerpo de respuesta, así como la respuesta básica 400, que contendría un mensaje de error detallado. En mi experiencia, los servidores de Etsy son bastante buenos para devolver un mensaje de error significativo como "falta la clave x-api" o "el token de acceso ha caducado", etc. Le sugiero que lea el flujo de respuesta y lo registre o lo imprima de alguna manera. No muestra su código, pero el hecho de que parece haber registrado el objeto de Respuesta me dice que no ha leído el flujo de datos de respuesta de él. Tampoco ha compartido el código que usó para realizar la solicitud, hay muchas bibliotecas de clientes http que podría estar usando.