um unseren gesetzlichen Verpflichtungen nachzukommen, benötigen wir eine Möglichkeit, Benutzern den Download ihrer vollständigen Beitragsverläufe (nicht nur Auszüge) über die Discourse-API zu ermöglichen. So können diese Daten in einen DSAR-Antrag (Data Subject Access Request) an unsere Website bzw. unser Rechtsabteilung direkt einbezogen werden, damit der Nutzer eine vollständige Aufzeichnung sowohl seiner Last.fm-Daten als auch seiner Discourse-Beiträge erhält. Ist dies derzeit möglich? Und wenn ja, wie geht man dabei am besten vor?
Nun, theoretisch könnte man es über die API erledigen (siehe Wie man die Discourse-API reverse-engineert), aber es gibt keinen einfachen Weg, die Anforderung zu umgehen, dass der Nutzer den E-Mail-Bestätigungslink anklicken muss, der ihn davor schützt, dass jemand anderes seine Daten herunterlädt.
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:
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.