Postverlauf eines Benutzers über die Discourse API herunterladen?

Wie Jay bereits angemerkt hat, kann eine authentifizierte POST-Anfrage an /export_csv/export_entity.json verwendet werden, um das Archiv zu erstellen. Dafür benötigen Sie einen Globalen API-Schlüssel für alle Benutzer. Setzen Sie den API-Benutzernamen der Anfrage auf den Benutzernamen des Benutzers, für den das Archiv erstellt werden soll. Sie müssen einen entity-Parameter mit der Anfrage übermitteln. Der entity-Parameter sollte auf user_archive gesetzt werden. Mit diesem Ansatz wird eine Benachrichtigung für den Benutzer generiert. Für die meisten Benutzer wird dies auch eine E-Mail mit einem Download-Link senden, aber ich denke, man kann sich nicht darauf verlassen – dies hängt davon ab, wie der Benutzer seine E-Mail-Einstellungen konfiguriert hat.

Ein Beispiel für eine curl-Anfrage zur Generierung des Archivs. Ich habe $api_key durch einen Globalen API-Schlüssel für alle Benutzer in der Anfrage ersetzt:

curl -X POST "http://localhost:3000/export_csv/export_entity.json" -H "Api-Username: Ben" -H "Api-Key: $api_key" -F "entity=user_archive"

Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, das Archiv so zu generieren, dass Sie es teilen können, ohne dass der Benutzer auf die Benachrichtigung zugreifen und ihren Download-Link anklicken muss. Möglicherweise könnte eine Data Explorer-Abfrage entwickelt werden, die die Informationen zurückgibt. Sie könnten dann die Data Explorer-Abfrage über die API ausführen. Der Nachteil dieses Ansatzes ist, dass Sie bei mehr als 10.000 Zeilen Daten, die von der Abfrage zurückgegeben werden, mehrere Anfragen stellen müssten, um die Daten zu erhalten. Weitere Informationen zum Data Explorer-Ansatz finden Sie unter: So führen Sie Data Explorer-Abfragen mit der Discourse-API aus.

3 „Gefällt mir“