#!/bin/bash
# Basic login script for Lemmy API
# CHANGE THESE VALUES
my_instance="" # 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"
}
login
# Make note of "jwt" from reply
This’ll reply with JSON data, that includes a value for “jwt”, to be used in other scripts that require you to be logged in.
Personally, I’d use the ‘jq’ program to de-serialize the JSON data, but I thought I’d keep the script simple for now
Ooops. I tested it before I posted, and the reason it worked is because it turns out that authentication isn’t needed for that query.
I’ve edited the comment now, and there only being one part means that there’s no need for an ampersand, so there’s no probs with special characters.
That got me there. I just made my first scripted post. I’ll take it from here with queuing my content. Thanks again!