Updating avatar using Canvas API
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-02-2022
02:25 PM
Hi eveveryone,
I'm a developer and I'm automating the update of user avatars using the following endpoint (using Python 3):
https://canvas.instructure.com/doc/api/users.html#method.users.update
PUT /api/v1/users/:id
We're having issues with some users not getting their avatar updated while others do.
We are successfully sending the http request:
- as a parameter, i pass the token for the uploaded file that I want to set as the avatar
- this file is already successfully uploaded to the user's "profile pictures" directory.
- To remove any other variables, we uploaded the same image for each of the users
- we get a response, with status code of 200
However, we're not getting consistent results.
In the http request response for each user, we see two scenarios:
- Success - The first is when the avatar update is successful
- the response text includes user details
- in the details, i can confirm that the avatar has been updated to the corresponding photo matching the token sent
- in there, I can also verify that the avatar state is locked, which is what we want
- Not Updated - The second scenario is where the avatar is not updated
- the status code is 200 for this also, no http error
- the response text includes user details, but with fewer detail fields when compared to the details we get from scenario 1 above
- in this scenario's details, we can see the avatar url is pointing to this particular file: our_domain/images/messages/avatar-50.png
- we have tried to see if there is a difference in the users that fail, but have not found anything that diffirentiates them
- in addition, there have been times when some users who had their avatar updated successfully before (scenario 1 above), now fall under this 2nd scenario
We have only done this in our TEST environment.
Any ideas on what is causing this?
Thanks in advance for your help!
Users who also had this question