National Preventative Mechanism
Miss any of our Open RFC calls?Watch the recordings here! »

pocket-promise

1.1.0 • Public • Published

pocket-promise

A promise-based client for getpocket.com API.

Installation:

$ npm i pocket-promise -S

Usage:

  1. Create a new file, index.js, with the following contents:
var Pocket = require('pocket-promise')
var config = require('./config.json')
 
var pocket = new Pocket(config)
pocket.get({
  count: 3
}).then(console.log).catch(console.error)
  1. In the same directory as your index.js file, create a config.json file with the following contents:
{
  "consumer_key": "YOUR CONSUMER KEY HERE",
  "access_token": "YOUR ACCESS TOKEN HERE"
}

PROTIP: If I were you, I'd add the ./config.json file to your .gitignore file, but that's just me.

API:

new Pocket(config)

Usage:

var Pocket = require('pocket-promise')
 
var pocket = new Pocket()

You can optionally set a consumer_key and/or access_token which will be sent with each of the API requests, by passing them into the constructor function:

var Pocket = require('pocket-promise')
 
var pocket = new Pocket({
  consumer_key: 'YOUR CONSUMER KEY HERE',
  access_token: 'YOUR ACCESS TOKEN HERE'
})

Pocket#add(options)

To save an item to a user's Pocket list, you'll make a single request to the /v3/add endpoint.

Usage:

pocket.add({
  url: 'https://mozilla.org/'
}).then(console.log).catch(console.error)

NOTE: In order to use the /v3/add endpoint, your consumer key must have the "Add" permission.

For more information, see https://getpocket.com/developer/docs/v3/add.


Pocket#get(options)

To retrieve item(s) from a user's Pocket list, you'll make a request to the /v3/get endpoint.

Usage:

Retrieve the 3 newest articles from Pocket:

pocket.get({
  count: 3
}).then(console.log).catch(console.error)

NOTE: In order to use the /v3/get endpoint, your consumer key must have the "Retrieve" permission.

For more information, see https://getpocket.com/developer/docs/v3/retrieve.


Pocket#retrieve(options)

Alias for Pocket#get() API.


Pocket#send(options)

Pocket's /v3/send endpoint allows you to make a change or batch several changes to a user's list or Pocket data.

Usage:

pocket.send({
  actions: [
    {
      action: 'favorite',
      item_id: 20646
    }
  ]
}).then(console.log).catch(console.error)
Response:
{
  "action_results": [ true ],
  "status": 1
}

NOTE: In order to use the /v3/send endpoint, your consumer key must have the "Modify" permission.

For more information, see https://getpocket.com/developer/docs/v3/modify.


Pocket#modify(options)

Alias for Pocket#send() API.


Pocket#action(action, options)

For more information, see https://getpocket.com/developer/docs/v3/modify.

Usage:

pocket.action('favorite', {
  item_id: 20646
}).then(console.log).catch(console.error)

Response:

{
  "action_results": [ true ],
  "status": 1
}

Pocket#archive(options)

Alias for pocket.action('archive', options). For more information, see https://getpocket.com/developer/docs/v3/modify#action_archive.

Usage:

pocket.archive({
  item_id: 20646
}).then(console.log).catch(console.error)

Pocket#delete(options)

Alias for pocket.action('delete', options). For more information, see https://getpocket.com/developer/docs/v3/modify#action_delete.

Usage:

pocket.delete({
  item_id: 20646
}).then(console.log).catch(console.error)

Response:

{
  "action_results": [ true ],
  "status": 1
}

Pocket#favorite(options)

Alias for pocket.action('favorite', options). For more information, see https://getpocket.com/developer/docs/v3/modify#action_favorite.

Usage:

pocket.favorite({
  item_id: 20646
}).then(console.log).catch(console.error)

Response:

{
  "action_results": [ true ],
  "status": 1
}

Install

npm i pocket-promise

DownloadsWeekly Downloads

3

Version

1.1.0

License

WTFPL

Last publish

Collaborators

  • avatar