434 lines
13 KiB
Markdown
434 lines
13 KiB
Markdown
# pinterest-node-api (Pinterest Node Rest API)
|
|
[](https://travis-ci.org/vijaypatoliya/pinterest-node-api) [](https://stackoverflow.com/search?q=nodejs-pinterest-node-api)
|
|
|
|
This API supported Pinterest standard REST API that accepts/returns JSON requests. Here is the [API reference] (https://developers.pinterest.com/docs/api/overview/)
|
|
|
|
You can find [examples of JavaScript And TypeScript](https://github.com/vijaypatoliya/pinterest-node-api/tree/master/examples). This will help you for faster implementation of Pinterest APIs.
|
|
|
|
##### It does supports EcmaScript 5, EcmaScript 6, EcmaScript 8, TypeScript, async-await, Promises, Callback!!!
|
|
##### It does also supports for AWS Lambda like serverless cloud function call.
|
|
##### It supports pure JSON response.
|
|
##### All methods support Promise and Callback both.
|
|
|
|
## Get started
|
|
Using the Pinterest API wrapper for Node.js is really simple.
|
|
Given that you already have a Node.js project with NPM setup just follow these steps:
|
|
|
|
**Install the dependency**
|
|
```
|
|
npm install --save pinterest-node-api
|
|
```
|
|
|
|
## Get Access Token From Using Below Link and Overview Details
|
|
[https://developers.pinterest.com/docs/api/overview/](https://developers.pinterest.com/docs/api/overview/)
|
|
|
|
## Configuration Using JavaScript
|
|
|
|
```bash
|
|
export PINTEREST_USER_TOKEN=ACCESS_TOKEN
|
|
```
|
|
|
|
```js
|
|
var pinterest = require('pinterest-node-api')('YOUR_ACCESS_TOKEN');
|
|
```
|
|
|
|
## Configuration Using TypeScript
|
|
```js
|
|
import * as PinterestAPI from 'pinterest-node-api';
|
|
const pinterest = new PinterestAPI();
|
|
pinterest.setUserToken('YOUR_ACCESS_TOKEN');
|
|
```
|
|
|
|
## Test Cases
|
|
```bash
|
|
npm run test.mocha
|
|
```
|
|
|
|
## Debugging
|
|
```bash
|
|
export DEBUG=pinterest:*
|
|
```
|
|
|
|
```
|
|
Originally by [Vijay Patoliya](https://github.com/vijaypatoliya) (osi.vijay@gmail.com).
|
|
```
|
|
|
|
## Examples
|
|
|
|
#### Users
|
|
Get own information
|
|
/* Return the logged in user's information */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {};
|
|
try {
|
|
var response = pinterest.users.getUserOwnInfo(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get boards list
|
|
/* Return the logged in user's Boards */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {};
|
|
try {
|
|
var response = pinterest.users.getUserBoards(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get board suggestions list
|
|
/* Return Board suggestions for the logged in user */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {
|
|
pin: '806144402026290934'
|
|
};
|
|
try {
|
|
var response = pinterest.users.getUserBoardSuggestions(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get user's pins
|
|
/* Return the logged in user's Pins */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {};
|
|
try {
|
|
var response = pinterest.users.getUserPins(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Search user's boards
|
|
/* Search the logged in user's Boards */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {
|
|
query: 'board 1',
|
|
fields: 'counts,id,name,url'
|
|
};
|
|
try {
|
|
var response = pinterest.users.searchUserBoards(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Search user's pins
|
|
/* Search the logged in user's Pins */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {
|
|
query: 'test',
|
|
fields: 'id,board,link,note,url'
|
|
};
|
|
try {
|
|
var response = pinterest.users.searchUserPins(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Follow a Board
|
|
/* Follow a Board */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {
|
|
board: '4teebeat/bodybuilding-t-shirts'
|
|
};
|
|
try {
|
|
var response = pinterest.users.followBoard(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Follow a user
|
|
/* Follow a user */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {
|
|
user: '4teebeat'
|
|
};
|
|
try {
|
|
var response = pinterest.users.followUser(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get user's followers
|
|
/* Return the users that follow the logged in user */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {};
|
|
try {
|
|
var response = pinterest.users.getUserFollowers(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get user's following boards
|
|
/* Get the Boards that the logged in user follows */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {};
|
|
try {
|
|
var response = pinterest.users.getUserFollowingBoards(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get user's following interested topics
|
|
/* Return the Interests the logged in user follows */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {};
|
|
try {
|
|
var response = pinterest.users.getUserFollowingInterests(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get user's following users list
|
|
/* Return the users that the logged in user follows */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {};
|
|
try {
|
|
var response = pinterest.users.getUserFollowingUsers(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Unfollow a board
|
|
/* Unfollow a Board */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var board = '4teebeat/bodybuilding-t-shirts'
|
|
try {
|
|
var response = pinterest.users.unfollowBoard(board);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Unfollow a user
|
|
/* Unfollow a User */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var user = '4teebeat'
|
|
try {
|
|
var response = pinterest.users.unfollowUser(user);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get user's information
|
|
/* Return a user's information */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var user = '4teebeat'
|
|
try {
|
|
var response = pinterest.users.getUserInfo(user);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
|
|
#### Boards
|
|
Create a Board
|
|
/* Create a Board */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {
|
|
name: 'test board',
|
|
description: 'it\'s a test board'
|
|
};
|
|
try {
|
|
var response = pinterest.boards.createBoard(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get board's information
|
|
/* Retrieve information about a Board */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var board = 'pideveloper/test-board';
|
|
try {
|
|
var response = pinterest.boards.getBoard(board);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get board's pins list
|
|
/* Retrieve the Pins on a Board */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var board = 'pideveloper/test-board';
|
|
try {
|
|
var response = pinterest.boards.getBoardPins(board);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get boards list
|
|
/* Return the logged in user's Boards */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {};
|
|
try {
|
|
var response = pinterest.boards.getUserBoards(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Edit a board
|
|
/* Edit a Board */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {
|
|
name: 'Board 11',
|
|
description: 'it\'s a board no 11.'
|
|
};
|
|
var board = 'pideveloper/test-board';
|
|
try {
|
|
var response = pinterest.boards.updateBoard(board, data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Edit a board
|
|
/* Edit a Board */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var board = 'pideveloper/board-11';
|
|
try {
|
|
var response = pinterest.boards.deleteBoard(board);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
|
|
#### Pins
|
|
Create a Pin
|
|
/* Create a Pin */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {
|
|
board: 'pideveloper/board-2',
|
|
note: 'it\'s a test pin desc.',
|
|
image_url: 'https://localhost:8080/aerospace-engineering.jpg'
|
|
};
|
|
try {
|
|
var response = pinterest.pins.createPin(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get pin information
|
|
/* Return information about a Pin */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var pin = '806144402027821208';
|
|
try {
|
|
var response = pinterest.pins.getPin(pin);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get board's pins list
|
|
/* Retrieve the Pins on a Board */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var board = 'pideveloper/test-board';
|
|
try {
|
|
var response = pinterest.pins.getBoardPins(board);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get user's pins
|
|
/* Return the logged in user's Pins */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var data = {};
|
|
try {
|
|
var response = pinterest.pins.getUserPins(data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Edit a Pin
|
|
/* Edit a Pin's information */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var pin = '806144402027821208';
|
|
var data = {
|
|
board: 'pideveloper/board-2',
|
|
note: 'it\'s a aerospace test pin.',
|
|
link: 'https://aerospace.org/'
|
|
};
|
|
try {
|
|
var response = pinterest.pins.updatePin(pin, data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Delete a Pin
|
|
/* Delete a Pin */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var pin = '806144402027821208';
|
|
try {
|
|
var response = pinterest.pins.deletePin(pin);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
|
|
#### Sections
|
|
Create a section of board
|
|
/* Creates a new board section */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var board = '806144470738408510';
|
|
var data = {
|
|
title: 'test section',
|
|
// initial_pins: '806144402026288820'
|
|
};
|
|
try {
|
|
var response = pinterest.sections.createBoardSection(board, data);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get board's sections list
|
|
/* Gets sections for a board */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var board = '806144470738408510';
|
|
try {
|
|
var response = pinterest.sections.getBoardSections(board);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Get pins of board section
|
|
/* Gets the pins for a board section */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var section = 'pideveloper/board-2/lighting';
|
|
try {
|
|
var response = pinterest.sections.getBoardSectionPins(section);
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
-------------------------------------------------------------------------------------
|
|
Delete a board section
|
|
/* Deletes a board section */
|
|
|
|
pinterest.setUserToken(userToken);
|
|
var section = '5007816082331826124';
|
|
try {
|
|
var response = pinterest.sections.deleteBoardSection(section);
|
|
} catch (error) {
|
|
return;
|
|
}
|