Encontrei alguns exemplos nestes fóruns de como atualizar informações de usuário via API, mas não consigo fazer funcionar. Sou um desenvolvedor júnior, então talvez esteja perdendo algo óbvio.
Primeiro, tentei fazer este exemplo funcionar: curl -X PUT -d 'name=new name’ -L 'https://mysite.com/users/user12345.json?api_key=mykey\u0026api_username=username'
Obrigado @JammyDodger. Fiz como você sugeriu e atualizei o nome na interface de administração e depois olhei na aba de rede. Como você mencionou, ele faz a atualização em uma URL diferente (/u em vez de /users), mas quando eu mudo a URL, ainda não está funcionando.
Em "Form Data", estou olhando a requisição e é: name: \"newname\" exatamente como estou enviando.
Pelo que posso ver, tudo parece certo e ainda não está atualizando. Empacado.
Ok… Passei muito mais tempo pesquisando nos fóruns e encontrei um problema semelhante de 7 anos atrás. Descobri que, se você atualizar o Content-Type para "application/json; charset=utf-8", funciona!
Tenho um último problema: como atualizo o nome de usuário pela API?
Ok… Finalmente consegui descobrir isso. Deixarei um pequeno resumo aqui caso alguém no futuro esteja procurando como fazer isso. As outras respostas que encontrei nos fóruns estavam desatualizadas.
Para atualizar o nome via 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 atualizar o nome de usuário via 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'