Für die Leute, die keine offene Browser Session haben, hier ein kleines, aber funktionales Bash Script, welches im Ausführungsverzeichnis eine myFedditUserData.json erstellt, welche bei anderen Instanzen importiert werden kann.
Anforderungen:
Linux/Mac OS X Installation
jq installiert (Unter Ubuntu/Debian/Mint z.B. per sudo apt install -y jq
Anleitung:
Folgendes Script unter einem beliebigen Namen mit .sh Endung abspeichern, z.B. getMyFedditUsserData.sh
Script in beliebigen Textprogramm öffnen, Username/Mail und Passwort ausfüllen (optional Instanz ändern)
Terminal im Ordner des Scripts öffnen und chmod +x getMyFedditUsserData.sh ausführen (Namen eventuell anpassen)
./getMyFedditUsserData.sh
Nun liegt im Ordner neben dem Script eine frische myFedditUserData.json
Anmerkung:
Das Script ist recht simpel, es wird ein JWT Bearer Token angefragt und als Header bei dem GET Aufruf von https://feddit.de/api/v3/user/export_settings mitgegeben. Wer kein Linux/Mac OS X zur Verfügung hat, kann den Ablauf mit anderen Mitteln nachstellen.
Das Script:
#!/bin/bash# Basic login script for Lemmy API# CHANGE THESE VALUES
my_instance="https://feddit.de"# e.g. https://feddit.nl
my_username=""# e.g. freamon
my_password=""# e.g. hunter2######################################################### Lemmy API version
API="api/v3"######################################################### Turn off history substitution (avoid errors with ! usage)set +H
######################################################### Loginlogin() {
end_point="user/login"
json_data="{\"username_or_email\":\"$my_username\",\"password\":\"$my_password\"}"
url="$my_instance/$API/$end_point"
curl -H "Content-Type: application/json" -d "$json_data""$url"
}
# Get userdata as JSONgetUserData() {
end_point="user/export_settings"
url="$my_instance/$API/$end_point"
curl -H "Authorization: Bearer ${JWT}""$url"
}
JWT=$(login | jq -r '.jwt')
printf'JWT Token: %s\n'"$JWT"
getUserData | jq > myFedditUserData.json
Für die Leute, die keine offene Browser Session haben, hier ein kleines, aber funktionales Bash Script, welches im Ausführungsverzeichnis eine
myFedditUserData.json
erstellt, welche bei anderen Instanzen importiert werden kann.Anforderungen:
sudo apt install -y jq
Anleitung:
.sh
Endung abspeichern, z.B.getMyFedditUsserData.sh
chmod +x getMyFedditUsserData.sh
ausführen (Namen eventuell anpassen)myFedditUserData.json
Anmerkung: Das Script ist recht simpel, es wird ein JWT Bearer Token angefragt und als Header bei dem GET Aufruf von https://feddit.de/api/v3/user/export_settings mitgegeben. Wer kein Linux/Mac OS X zur Verfügung hat, kann den Ablauf mit anderen Mitteln nachstellen.
Das Script:
#!/bin/bash # Basic login script for Lemmy API # CHANGE THESE VALUES my_instance="https://feddit.de" # e.g. https://feddit.nl my_username="" # e.g. freamon my_password="" # e.g. hunter2 ######################################################## # Lemmy API version API="api/v3" ######################################################## # Turn off history substitution (avoid errors with ! usage) set +H ######################################################## # Login login() { end_point="user/login" json_data="{\"username_or_email\":\"$my_username\",\"password\":\"$my_password\"}" url="$my_instance/$API/$end_point" curl -H "Content-Type: application/json" -d "$json_data" "$url" } # Get userdata as JSON getUserData() { end_point="user/export_settings" url="$my_instance/$API/$end_point" curl -H "Authorization: Bearer ${JWT}" "$url" } JWT=$(login | jq -r '.jwt') printf 'JWT Token: %s\n' "$JWT" getUserData | jq > myFedditUserData.json