Disclaimer: This TypeScript/Node.js project provides access to an unofficial RepubliK API, kind a implementation for informational and educational purposes only. RepubliK API could change at any moment but I will try my best to maintain and keep it up-to-date.
npm install republik-api
yarn add republik-api
import { RepubliKAPI } from "republik-api"
const republikgg = new RepubliKAPI({
authToken: "ACCESS_TOKEN",
userId: "USER_ID"
})
republikgg.authenticate()
// Get posts from an user
const getPostsOpt = {
location: "",
limit: 25,
withOwnReactions: true,
withReactionCounts: true
}
republikgg.getPosts("USER_ID", getPostsOpt)
// Get profile infor from an user
republikgg.getProfile("USER_ID")Read more about authentication.
republikgg.Self.createPost("CAPTION", ["MEDIA_URL", "MEDIA_FILEPATH"]) // Maximum 3 media, createPost, deletePost
republikgg.Self.createConversation("CAPTION", "MEDIA_URL") // createConversation, deleteConversationrepublikgg.Self.follow("USER_ID") // follow, unfollow
republikgg.Self.block("USER_ID") // block, unblockNote: postId and activityId kind a same thing.
republikgg.Self.like("ACTIVITY_ID") // like, dislike
republikgg.Self.comment("ACTIVITY_ID", "TEXT") // comment, uncommentrepublikgg.Self.updateProfile.name("DISPLAY NAME")
republikgg.Self.updateProfile.bio("BIO")
republikgg.Self.updateProfile.email("EXAMPLE@MAIL.COM")
// Photo
republikgg.Self.updateProfile.photo("FILE_PATH") // from local file
// or
republikgg.Self.updateProfile.photo("URL") // from urlrepublikgg.Self.updateToken()const AuthOptions = {
refreshToken?: string,
authToken?: string,
userId?: string
}There are two ways to do authentication
const republikgg = new RepublikAPI(AuthOptions)
republikgg.authenticate()
// or
const republikgg = new RepublikAPI()
republikgg.authenticate(AuthOptions)And there are two kind of authentication.
const republikgg = new RepublikAPI()
republikgg.authenticate({ refreshToken })
// or
const republikgg = new RepublikAPI()
republikgg.authenticate({ userId, authToken })Authentication with refreshToken would be best since authToken only alive for an hour and required userId.
For now, it's only tested using Google SSO authentication, not yet tried Facebook signin method.
Its property named authToken on constructing class. Access Token (Bearer) can be obtained via Network Tab on your browser. authToken will expired in 3600s (an hour).
Used to refresh authToken. Can be found on localStorage. The key named XXXX.XXXX.XXXX.refreshToken. New token will be live for an hour. Refresh token will change while the session closed (logout) from the device.
1.3.x > 1.4.x
Changes:
- Remove the
Postman/RuntineUser Agent - Allow use to user their own User Agent
This version updated because #4 Issue
1.0.x > 1.1.x
Functions:
Self.post()toSelf.createPost()refreshAccessToken()toSelf.updateToken()No longer return value, new token automatically set.authenticate()Now needed after constructing class.
Feel free to open issue or opening pull request. A star (⭐) would be very amazing!
This source code is intended to facilitate access to certain online services but is not endorsed or supported by the platform provider(s). Please use this code responsibly and respect the terms of service of the platform(s) you interact with.