Avatarwechsel über Discourse API schlägt fehl

Ich habe einen API-Schlüssel mit „Global“-Zugriff für „Alle Benutzer“.

Ich mache Folgendes:

$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);

Aber das Ergebnis, das ich zurückbekomme, ist:

{"failed":"FAILED"}

Ich habe auch versucht, es als application/json zu senden. Hier sind die vollständigen CURL-Informationen:

$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

Sie können sehen, dass Profile - fdhsjkgfs_dghjkl - Intercoin existiert.
Die Upload-ID existiert ebenfalls, hier ist, was ich erhalte, nachdem ich den Upload durchgeführt habe:

{
  "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"
}

Was ist also das Problem? Ich habe mich an die Dokumentation gehalten…

1 „Gefällt mir“

Und aus irgendeinem Grund sind die Links in der Beschreibung und auf der Website nicht klickbar, nachdem ich sie mit CURL gesetzt habe:

Aber in anderen Zusammenfassungsfeldern sind sie das. Mit denselben URLs.

Was mache ich da falsch?

        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 „Gefällt mir“

Und schließlich .. gibt es im Forum Control Panel eine Möglichkeit, die Zusammenfassungsfelder vollständig für die Öffentlichkeit anzuzeigen (mit Biografie, Website usw.) anstatt nur mit begrenzten Informationen?

Vielleicht liegt das daran, dass diese Benutzer Vertrauensstufe 1 erreicht haben. Um Spam zu verhindern, funktionieren die Links neuer Benutzer nicht.

Ist es möglich, die Vertrauensstufe eines Benutzers über die API festzulegen?

Ich habe hier gesucht und Folgendes gefunden:

Es scheint also möglich zu sein.

2 „Gefällt mir“

Übrigens war die Antwort auf die ursprüngliche Frage, dass „SSO überschreibt Avatar“ aktiviert war. Das Deaktivieren dieses Kontrollkästchens hat das Problem behoben.

Ich konnte auch das Vertrauensniveau erfolgreich über die API aktualisieren, und dadurch wird die vollständige Zusammenfassungsbox angezeigt. Danke, Leute!

5 „Gefällt mir“