Skip to content

rejasupotaro/mediumite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mediumite CircleCI

This is simple wrapper for the Medium API written in Ruby. For full API documentation, see Medium/medium-api-docs: Documentation for Medium's OAuth2 API

Usage

Authentication

In order to publish on behalf of a Medium account, you will need an access token. Medium offers two ways to acquire an access token: browser-based OAuth authentication, and self-issued access tokens. Currently this library supports only self-issued access tokens.

You can generate/revoke an access token from the Settings page of your Medium account.

Using the access token, initlize Mediumite::Client.

client = Mediumite::Client.new(token: your_access_token)

Resources

Users

Getting the authenticated user’s details

Returns details of the user who has granted permission to the application.

Example:

> client.user
=> {:id=>"5303d74c64f66366f00cb9b2a94f3251bf5",
  :username=>"majelbstoat",
  :name=>"Jamie Talbot",
  :url=>"https://medium.com/@majelbstoat",
  :imageUrl=>"https://images.medium.com/0*fkfQiTzT7TlUGGyI.png"}

Publications

Listing the user’s publications

Returns a full list of publications that the user is related to in some way: This includes all publications the user is subscribed to, writes to, or edits.

Example:

> client.get_publications
=> [{:id=>"b969ac62a46b",
  :name=>"About Medium",
  :description=>"What is this thing and how does it work?",
  :url=>"https://medium.com/about",
  :imageUrl=>"https://cdn-images-1.medium.com/fit/c/200/200/0*ae1jbP_od0W6EulE.jpeg"}
,
  {:id=>"b45573563f5a",
  :name=>"Developers",
  :description=>"Medium’s Developer resources",
  :url=>"https://medium.com/developers",
  :imageUrl=>"https://cdn-images-1.medium.com/fit/c/200/200/1*ccokMT4VXmDDO1EoQQHkzg@2x.png"}
]

Posts

Creating a post

Creates a post on the authenticated user’s profile.

Example:

> post = Mediumite::Post.new(title: "Liverpool FC", body: "# Liverpool FC\nYou’ll never walk alone.")
> client.create_post(post)
=> {:id=>"e6f36a",
  :title=>"Liverpool FC",
  :authorId=>"5303d74c64f66366f00cb9b2a94f3251bf5",
  :url=>"https://medium.com/@majelbstoat/liverpool-fc-e6f36a",
  :canonicalUrl=>"http://jamietalbot.com/posts/liverpool-fc",
  :publishStatus=>"draft",
  :publishedAt=>1442286338435,
  :license=>"",
  :licenseUrl=>"https://medium.com/policy/9db0094a1e0f"
  :tags=>[]}

You can specify these parameters below.

Parameter Type Required? Description
title string required The title of the post. This is required if format == "html"
body string required The body of the post, in a valid, semantic, markdown or HTML fragment. Further markups may be supported in the future. For a full list of accepted HTML tags, see here.
format string optional The format of the "body" field. There are two valid values, "markdown", and "html". The default is "markdown"
publish_status string optional The status of the post. Valid values are “public”, “draft”, or “unlisted”. The default is “draft”.
tags string array optional Tags to classify the post. Only the first three will be used. Tags longer than 25 characters will be ignored.
publication_id string optional The publication id. The post will associate with the given publication.

About

Simple wrapper for the Medium API written in Ruby

Resources

License

Stars

Watchers

Forks

Packages

No packages published