É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…

1 « J'aime »

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);
1 « J'aime »

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.

2 « J'aime »

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 !

5 « J'aime »