He encontrado algunos ejemplos en estos foros de cómo actualizar información de usuario a través de la API, pero no consigo que funcione. Soy un desarrollador junior, así que quizás me esté perdiendo algo obvio.
Primero intenté hacer funcionar este ejemplo: curl -X PUT -d 'name=new name’ -L 'https://mysite.com/users/user12345.json?api_key=mykey\u0026api_username=username'
Gracias @JammyDodger. Hice lo que sugeriste y actualicé el nombre en la interfaz de administración y luego miré en la pestaña de red. Como mencionaste, hace la actualización en una URL diferente (/u en lugar de /users), pero cuando cambio la URL, todavía no funciona.
En “Form Data”, estoy mirando la solicitud y es: name: "newname" tal como la estoy enviando.
Hasta donde puedo ver, todo parece correcto y todavía no se actualiza. Estoy desconcertado.
Ok… Pasé mucho más tiempo investigando en los foros y encontré un problema similar de hace 7 años. ¡Resulta que si actualizas el Content-Type a “application/json; charset=utf-8”, funciona!
Tengo un último problema: ¿cómo actualizo el nombre de usuario a través de la API?
He intentado hacer algo como esto, pero no funciona:
Ok… Finalmente pude resolver esto. Dejaré un pequeño resumen aquí en caso de que alguien en el futuro esté buscando cómo hacer esto. Las otras respuestas que encontré en los foros estaban desactualizadas.
Para actualizar el nombre a través de la API: curl -X PUT -H \"Content-Type: application/json; charset=utf-8\" -H \"Api-Key: mykey\" -H \"Api-Username: username\" -d '{\"name\": “mynewname\"}' -L 'https://mysite.com/u/user12345.json'
Para actualizar el nombre de usuario a través de la API: curl -X PUT -H \"Content-Type: application/json; charset=utf-8\" -H \"Api-Key: myapikey\" -H \"Api-Username: username\" -d '{\"new_username\": \"mynewusername\"}' -L 'https://mysite.com/u/user12345/preferences/username.json'