Hallo zusammen – ich bin ein Admin-Benutzer unserer Discourse-Instanz, kann aber bestimmte Endpunkte nicht abfragen.
Manchmal erhalte ich Folgendes:
Zu anderen Zeiten werde ich mit der Meldung „You need to be logged in to do that
Meine Vermutung ist, dass der Aufruf die Anmeldedaten nicht korrekt übermittelt?
Sie könnten versuchen, die API-Anmeldedaten stattdessen im Header der Anfrage anstelle der Query-Parameter zu übergeben. In der API-Dokumentation sollte ein Beispiel zu diesem Thema enthalten sein.
Könnte sein – ich bin mir nicht sicher – Mein Setup besteht lediglich aus der hier heruntergeladenen Postman-Sammlung:
Ich habe lediglich den API-Schlüssel, den Benutzernamen und die Basis-URL geändert.
Ist diese Sammlung nicht mehr gültig?
Danke @blake, ich probiere es aus.
Ja, einige davon sind wahrscheinlich veraltet.
@blake - Das Übergeben von Zugangsdaten als Anfrage-Header liefert dasselbe Ergebnis:
{
"errors": [
"Sie sind nicht berechtigt, die angeforderte Ressource anzuzeigen."
],
"error_type": "invalid_access"
}
Ich konnte die API-Anfrage für Gruppenmitglieder auf Meta mit diesem curl-Befehl zum Laufen bringen:
curl -i -sS -X GET "https://meta.discourse.org/groups/my-private-group/members.json" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: key" \
-H "Api-Username: username"
Vielleicht kannst du die Funktion „Als curl-Befehl kopieren“ in Postman verwenden und vergleichen.