The discussion revolves around uploading an avatar image using the Discourse API. adam_beers initially encountered a 500 error while trying to upload an avatar image and sought help.
blake explained that uploading an avatar via API requires two requests: a POST to /uploads.json and a PUT to /users/{username}/preferences/avatar/pick. However, the upload_id is not returned in the response.
riking suggested that the upload_id can be obtained by connecting to the message bus and listening on /uploads. Alternatively, adding synchronous: true to the upload request can return the upload_id, as demonstrated by blake.
adam_beers eventually got the synchronous upload working with a non-staff member. riking clarified that the message bus method is available via API calls but requires a different approach.
In a separate inquiry, AntiMetaman asked about the possibility of sending a Discord auth token to Discourse to upload/download files. However, this question remains unanswered in the discussion.
I’m trying to upload an avatar image with the API as follows. I’m getting back a 500 error and I don’t see anything in the Error Logs on the server, via the Admin user.
I’ve attached a picture with the data from a Postman POST.
Of note is that I had this working at one time but then something changed and it stopped working. I’m not sure what changed, besides an update to Discourse and Docker.
How would I find the changelog around the upload API? This worked before I did an update of Discourse. The update was large, as it was about a year old.
Previously I did it this way:
POST to {base_url}/users/{username}/preferences/user_image?api_key={key}&api_username={username}
followed by
POST to {base_url}/users/{username}/preferences/avatar/pick?upload_id={id}api_key={key}&api_username={username}
The upload_id was returned by the first POST. This flow is not working anymore. Does anybody know what might have changed? Or how I can get it working again?
There is supposed to be a synchronous option with uploads API as well and I can’t get that to work either. The synchronous option was supposed to return the upload_id. At least that is what I gathered from other posts here.
I got that to work with a non-staff member. Not sure what I was doing wrong, but I had tried basically the same thing several times to no avail. One thing that I did different was I had some headers defined for “Accept” and “Content-Type”
Je me demandais s’il était possible pour une application d’envoyer un jeton d’authentification Discord à Discourse afin de télécharger ou de télécharger un fichier depuis Discourse ?
Actuellement, par défaut, les utilisateurs peuvent télécharger jusqu’à 4096 Ko pour les images de profil. J’ai déjà configuré et fait fonctionner l’authentification OAuth de Discord. Une application peut-elle communiquer et envoyer la même requête (peut-être via SSO ?) à Discourse pour télécharger ou télécharger un fichier ?
Si oui, comment cette requête depuis l’application fonctionnerait-elle ?