Asumiendo la posición del probador de API de https://imgur.com/ , estoy probando la solicitud PUT para cambiar la configuración de la cuenta. Estoy siguiendo este api doc Enlace para arribahttps://apidocs.imgur.com/#7bc88d39-d06d-4661-afff-38ea5b9a1d0a
Pasos para verificar esto
2. Establecer el token de acceso 3. Haga clic en enviar la respuesta para esto es 200 como se muestra a continuación
Esperado : tener los valores show_mature y newsletter_subscribed establecidos en verdadero Real : los valores show_mature y newsletter_subscribed son falsos
Sería muy apreciado si alguien pudiera decirme por qué sucede esto? Gracias
De los documentos de la API de Imgur ...
¿Necesitas ayuda?
Los ingenieros de Imgur siempre están disponibles para responder preguntas. La forma más rápida de obtener ayuda es publicar su pregunta en StackOverflow con la etiqueta Imgur .
Imgur realmente útil 🙄.
Respondiendo aquí para proporcionar una respuesta canónica en la etiqueta imgur para esta tontería.
Todos los ejemplos de API en la documentación utilizan algún tipo de carga útil de cuerpo de solicitud multipart/form-data
. P.ej
var myHeaders = new Headers(); myHeaders.append("Authorization", "Bearer {{accessToken}}"); var formdata = new FormData(); var requestOptions = { method: 'PUT', headers: myHeaders, body: formdata, redirect: 'follow' }; fetch("https://api.imgur.com/3/account/{{username}}/settings", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));
y
curl --location --request POST 'https://api.imgur.com/oauth2/token' \ --form 'refresh_token="{{refreshToken}}"' \ --form 'client_id="{{clientId}}"' \ --form 'client_secret="{{clientSecret}}"' \ --form 'grant_type="refresh_token"'
Con la excepción de cualquier punto final relacionado con la carga , esto es ABSOLUTAMENTE INCORRECTO . Pasar datos como multipart/form-data
requiere que la API maneje ese tipo de contenido de solicitud y adivina qué, la API de Imgur no lo hace .
Lo que aceptan es application/x-www-form-urlencoded
.
x-www-form-urlencoded
, no form-data
-d
, no --form