Novelty Promotes Magicians

    ntumblr

    0.0.41 • Public • Published

    Tumblr REST client API for node.js

    Inspired by ntwitter .

    Installation

    npm install ntumblr
    

    Setup API

    consumerKey and consumerSecret can be obtained from Tumblr.

    accessTokenKey and accessTokenSecret can be obtained via OAuth: instruction is below .

    Minimal server that returns your accessTokenKey and accessTokenSecret can be found at /server/app.coffee

    Tumblr = require('ntumblr')
    
    tumblr = new Tumblr
      consumerKey:       'TumblrConsumerKey'
      consumerSecret:    'TumblrConsumerSecret'
      accessTokenKey:    'AccessTokenKey'
      accessTokenSecret: 'AccessTokenSecret'
    

    Usage

    Get blog info

    tumblr.get 'info', (err, data, response)->
      blogInfoData = JSON.parse( data ).response.blog
      { title,
        posts,
        name,
        url,
        updated,
        description,
        ask,
        ask_anon,
        likes } = blogInfoData
    

    Get posts

    tumblr.get 'posts', (err, data, response)->
      postsData = JSON.parse(data).response.posts
      postsData.forEach (post)->
        {
          blog_name,
          id,
          post_url,
          type,
          date,
          timestamp,
          format,
          reblog_key,
          tags,
          highlighted,
          note_count,
          title,
          body,
        } = post
    

    Get text posts

    tumblr.get 'posts', type: 'text', (err, data, response)->
      postsData = JSON.parse(data).response.posts
    

    Get one text post

    Other request parameters can be found at Request Parameters

    filterParam =
      type: 'text'
      limit: 1
    
    tumblr.get 'posts', filterParam, (err, data, response)->
      postData = JSON.parse(data).response.posts[0]
    

    Creating new Text Post as draft

    Requires AccessTokenKey and AccessTokenSecret

    postObj =
      type: 'text'
      title: 'Demo Post'
      body: 'Having a nice day :D'
      status: 'draft'
    
    tumblr.post postObj, (err, data, response)->
      {
        meta,
        response
      } = JSON.parse(data)
    
      if meta.status is 201 then console.log meta.msg is 'Created'
      newPostId = response.id
    

    Creating new Photo Post

    Requires AccessTokenKey and AccessTokenSecret

    postObj =
      type: 'photo'
      data: [fs.readFileSync('photo.jpg')]
    
    tumblr.post postObj, (err, data, response)->
      {
        meta,
        response
      } = JSON.parse(data)
    
      if meta.status is 201 then console.log meta.msg is 'Created'
      newPostId = response.id
    

    Test

    Make sure you have got access tokens

    # Create the url-strings first to check against
    $ python test/assets/tumblrv2api.py test/assets/photo.jpg
    $ mocha
    $ mocha test/tumblr # only test against tumblr
    

    Getting Access Tokens

    1. Copy config-sample.json to config.json and fill required fields
    2. Run simple server by coffee server then go to http://localhost:3000 to allow the app.
    3. Check your config.json. it should have access tokens in place.
    4. You can run test by $ mocha :)

    by mnmly

    Keywords

    none

    Install

    npm i ntumblr

    DownloadsWeekly Downloads

    0

    Version

    0.0.41

    License

    none

    Last publish

    Collaborators

    • mnmly