this post was submitted on 11 Jun 2023
4 points (100.0% liked)

Asklemmy

43831 readers
1138 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy ๐Ÿ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
 

Hi I'm looking for how to make some bookmarklets to browse a few things in a different way. Is there some way to at least get a json of a post/community/user to view some info that isn't readily available on the UI?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] csos95@lemmy.world 2 points 1 year ago* (last edited 1 year ago) (2 children)

Here's what I could find on the api: There's an API section1 of Lemmy documentation that describes some basic information and links to other resources. The LemmyHttp class in the linked lemmy-js-client documentation lists out the endpoints, parameters, and return values.

[โ€“] god@sh.itjust.works 1 points 1 year ago

been playing with it for like 20 minutes and it seems like the documentation and the code are different, so i can't implement any of what they say i can, been trying to just find the answers in the code with no luck cuz apparently the repo is all typescript and there's no code in the main repo, idk where this client's source code is.

have u been able to do any requests w it?

[โ€“] god@sh.itjust.works 1 points 1 year ago* (last edited 1 year ago)

nevermind, i actually did it now 4 minutes after complaining because i saw there's code examples here:

https://github.com/LemmyNet/lemmy/blob/ecc9469a02e63eab4e19093007c7ba6db0dca079/api_tests/src/shared.ts#L4

this works:

import { GetPost, GetPostResponse, LemmyHttp, Login } from "lemmy-js-client";

export interface API {
  client: LemmyHttp;
  auth: string;
}

export let alpha: API = {
  client: new LemmyHttp("https://sh.itjust.works"),
  auth: "",
};

let formAlpha: Login = {
  username_or_email: "username",
  password: "password",
};

export async function getPost(
  api: API,
  post_id: number
): Promise<GetPostResponse> {
  let form: GetPost = {
    id: post_id,
    auth: api.auth,
  };
  return api.client.getPost(form);
}

getPost(alpha, 1).then((res) =&gt; {
  console.log(res);
});