this post was submitted on 08 Jul 2023
13 points (100.0% liked)

Linux Troubleshooting and scripts

468 readers
1 users here now

this is a community for sharing your scripts that help when working with Linux as well a general troubleshooting.

Rules

Feel free to ask any kind of support questions, as we grow more succinct answers will be available. Let's make this community grow.

We are important to one another, not only in the linux world but also in the fediverse as a whole. Feel free to reach out to me with questions or concerns, as we grow bigger I will look into adding mods. (This section will be updated as needed.)

founded 1 year ago
MODERATORS
 
#!/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

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 1 year ago (1 children)

Awesome, thanks a bunch. I'm working through this now as I have minutes to spare, but the community id thing is returning "Query deserialize error: missing field q". I'm wondering if special characters and stuff are being parsed. I also replaced auth= in line 3 with jwt=, just FYI. Thanks, I'll keep plugging.

[–] [email protected] 2 points 1 year ago (1 children)

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.

[–] [email protected] 2 points 1 year ago

That got me there. I just made my first scripted post. I'll take it from here with queuing my content. Thanks again!