[PYTHON] L'icône Qiitadon ne peut pas être modifiée par l'API

Contenu du problème

J'ai changé l'icône en utilisant mastodon.py.

from mastodon import Mastodon

mastodon = Mastodon(
    access_token = "your_access_token",
    api_base_url = 'https://qiitadon.com'
)

mastodon.account_update_credentials(avatar="path_to_image.xxx")

Elle a été reflétée la première fois, mais elle ne s'est pas reflétée lorsque j'ai changé l'image et l'ai exécutée à nouveau. ** **

Raison

Je ne sais pas si c'est une spécification Qiitadon ou Mastodon, mais si je change l'icône dans l'API

Cela signifie que si vous souhaitez remplacer l'icône par une nouvelle, vous devrez la télécharger avec un nom d'image que vous n'avez jamais utilisé auparavant.

Dans le cas de mastodon.py, cela ressemble à ceci:

avatar_file_name = "mastodonpyupload_" + mimetypes.guess_extension(avatar_mime_type)

Il est probable qu'elle ne se soit pas reflétée comme prévu à partir de la deuxième fois car elle a été décidée quel que soit le nom de l'image locale.

Contre-mesures

Accédez directement à l'API Mastodon. Utilisez le nom de l'image locale pour le téléchargement. Si vous souhaitez refléter une nouvelle image, utilisez un nom d'image que vous n'avez jamais utilisé auparavant.

import requests

url     = "https://qiitadon.com/api/v1/accounts/update_credentials"
token   = "your_access_token"
headers = {"Authorization": "Bearer " + token}

file_name = "path_to_image.xxx"
file_data = open(file_name, "rb").read()
mime_type = "image/xxx"
files     = {"avatar": (file_name, file_data, mime_type)}

requests.patch(url, headers=headers, files=files)

Si la bibliothèque d'une autre langue n'a pas ce problème, elle peut être utilisée.

Recommended Posts

L'icône Qiitadon ne peut pas être modifiée par l'API
Auto_now de Django peut ne pas être mis à jour
[django] Quand le modèle modifié est mis à jour et quand il n'est pas mis à jour
PyQtGraph peut ne pas être disponible dans l'interpréteur.
Une note que pyOSC n'a pas reçu int64