1.1.1 • Published 7 months ago

medium-nodejs-client v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

Medium Nodejs Client

Medium Nodejs Client is a Node.js wrapper for the official Medium API. It allows you to retrieve user information, create posts, and access a list of publications. Additionally, you can fetch a user's post list by their username. This package includes all the official Medium REST API functionalities, with two extra capabilities: retrieving a list of posts and getting a list of post titles.

!WARNING The official medium api is no longer supported or maintained by Medium. Plugin can't work if medium shutdown their rest api.

View official medium documentation from here documentation here.

Install

npm i medium-nodejs-client

Implementation

Create a medium client with medium token and then use it.

import { MediumClient, PostContentFormat, PostPublishStatus, PostLicense } from "medium-nodejs-client";

// Access Token is optional, can also be set
const medium = new MediumClient('YOUR_ACCESS_TOKEN');

async function main() {
    //Get the user information
    const user = await medium.getUser();

    //Get publication with medium userId
    const publication = await medium.getPublicationsForUser({ userId: "" }) //Use medium user id from user

    //Get Contributors list for a specific publication
    const contributors = await medium.getContributorsForPublication({ publicationId: "" }) // Use publication id here

    //Publish a new medium post
    const post = await medium.createPost({
        title: 'A new post',
        content: '<h1>A New Post</h1><p>This is my new post.</p>',
        contentFormat: PostContentFormat.HTML,
        publishStatus: PostPublishStatus.DRAFT,
    });

    //Create post under publication
    const postInPublication = await medium.createPostInPublication({
        title: "A new publication post",
        content: "<h1>A New Post</h1><p>This is my new post.</p>",
        userId: "", //User id
        publicationId: "", //Publication ID
        contentFormat: PostContentFormat.HTML,
        tags: ["tag1"],
        canonicalUrl: "",
        publishStatus: PostPublishStatus.DRAFT,
        license: PostLicense.CC_40_BY
    })

    //See the medium documentation for response and payload types.
}

Get post list using username

Here you need to create a medium client without providing token. Token is not required here.

import { MediumClient, MediumPostResponse } from 'medium-nodejs-client';

// Access Token is optional, can also be set
const medium = new MediumClient();

async function main() {
    const posts = await medium.getPosts("siamahnaf")

    //This will give you following result in following format
     MediumPostResponse {
        id: string;
        mediumUrl: string;
        title: string;
        pubDate: number;
        author: {
            name: string;
            avatar: string;
        }
        thumbnail: string;
        responseCount: number;
        previewContent: string;
        readingTime: number;
        clapCount: number;
        slug: string;
        categories: string[];
    }

    //Get only medium post title using username
    const postTitles = await medium.getPostTitles("siamahnaf")

    //It will give you string of array with medium post title
}

Stay in touch

1.1.1

7 months ago

1.1.0

10 months ago

1.0.7

10 months ago

1.0.6

10 months ago

1.0.5

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago