Échec du changement d'avatar via l'API Discourse

J’ai une clé API qui a un accès « Global », pour « Tous les utilisateurs ».

Je fais ceci :

$updateAvatarUrl = sprintf("%s/u/%s/preferences/avatar/pick.json", $this->apiHost, $username);
$headers = array(
    "Api-Key: ".$this->apiKey,
    "Api-Username: ".$this->apiUsername
);
$data = array(
    'upload_id' => $uploadId,
    'type' => 'uploaded'
);
$response = Q_Utils::put($updateAvatarUrl, $data, null, null, $headers);

Mais le résultat que j’obtiens est :

{"failed":"FAILED"}

J’ai aussi essayé de l’envoyer en application/json. Voici les informations CURL complètes :

$url = 'https://community.intercoin.app/u/fdhsjkgfs_dghjkl';

Headers:
0:
"Host: community.intercoin.app"
1:
"User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (K HTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
2:
"Content-Type: application/x-www-form-urlencoded"
3:
"Content-Length: 28"
4:
"Api-Key: 3cf975095fd50e22e3631dc916c6d2c7694419ed421338dd7bba432ba1e71417"
5:
"Api-Username: system"

body:

upload_id=2159&type=uploaded

Vous pouvez voir que Profile - fdhsjkgfs_dghjkl - Intercoin existe.
L’ID de téléchargement existe aussi, voici ce que j’obtiens après avoir effectué le téléchargement :

{
  "id": 2159,
  "url": "https://community.intercoin.app/uploads/intercoin/original/2X/c/ce6121fe1571faa6c41ad28afdf6c30939ffbc56.png",
  "original_filename": "400.png",
  "filesize": 20636,
  "width": 360,
  "height": 360,
  "thumbnail_width": 360,
  "thumbnail_height": 360,
  "extension": "png",
  "short_url": "upload://trIsPeqspDPRwbMsOnjtDCBBMwK.png",
  "short_path": "/uploads/short-url/trIsPeqspDPRwbMsOnjtDCBBMwK.png",
  "retain_hours": null,
  "human_filesize": "20.2 KB"
}

Alors quel est le problème ? J’ai suivi ce que disent les docs…

Et aussi, pour une raison quelconque, les liens dans la description et le site Web ne sont pas cliquables après que je les ai définis à l’aide de CURL :

Mais sur d’autres boîtes de résumé, ils le sont. Avec les mêmes URL.

Qu’est-ce que je fais mal, là ?

        Q_Utils::put($this->apiHost."/u/$username.json", array(
            'title' => 'Forum Engagement Bot',
            'bio_raw' => 'Powered by https://engageusers.ai',
            'website' => 'https://engageusers.ai'
        ), null, null, $headers);

Et enfin… y a-t-il un moyen dans le panneau de contrôle du forum de faire apparaître les boîtes de résumé en entier pour le public (avec bio, site web, etc.) plutôt qu’avec des informations limitées ?

C’est peut-être parce que ces utilisateurs ont atteint le niveau de confiance 1. Pour éviter le spam, les liens des nouveaux utilisateurs ne fonctionnent pas.

Est-il possible de définir le niveau de confiance d’un utilisateur via l’API ?

Je viens de chercher ici et j’ai trouvé

Donc, cela semble possible.

Au fait, la réponse à la question initiale était que « SSO remplace l’avatar » était activé. Le désactiver a résolu le problème.

J’ai également pu mettre à niveau le niveau de confiance via l’API et cela fait apparaître la boîte de résumé complète. Merci, la famille !