Skip to content

Latest commit

 

History

History
87 lines (69 loc) · 2.81 KB

README.md

File metadata and controls

87 lines (69 loc) · 2.81 KB

vk-sdk

A little smarter way to do API requests

Methods

Method Returns Description
setToken(String token) this Sets token which will be used for requests to VK API.
serverAuth(Object authParams) promise Performs Application Server Authorization. authParams must contain client_id and client_secret properties.
siteAuth(Object authParams) promise Performs Sites Authorization. authParams must contain client_id, client_secret, code, redirect_uri properties.
callMethod(String name, Object params) promise Calls API method method with parameters params.
appendCall(String methodName, Object params) promise Used to delay request until execute method is called.
execute() promise Sends by one request all delayed calls added by appendCall method.

Example of usage

Preparation
var vk = require('vk-sdk');

vk.setToken(/* access_token */);
Simple request
vk.callMethod('users.get', {
    uids: [1, 5]
})
    .then(function (response) {
        console.log('Success: ' + JSON.stringify(response));
        // Success: [{"uid":1,"first_name":"Pavel","last_name":"Durov"},{"uid":5,"first_name":"Ilya","last_name":"Perekopsky"}]
    })
    .catch(function (error) {
        console.log('Fail: ' + JSON.stringify(error));
    });
Grouping several requests to a single

There are two calls of the execute method in the snippet below, so only two request would be sent in fact.

vk.appendCall('users.get', {uid: 1})
    .then(function (response) {
        console.log(JSON.stringify(response));
    })
    .catch(onError);

vk.appendCall('friends.get', {uid: 1})
    .then(function (response) {
        console.log("\nFriends list: ", JSON.stringify(response));
    })
    .catch(onError);

vk.appendCall('wall.get', {owner_id: 1})
    .then(function (response) {
        console.log("\nWall posts: ", JSON.stringify(response));
    })
    .catch(onError);

vk.execute();


vk.appendCall('users.get')
    .then(function (response) {
        console.log(JSON.stringify(response));
    })
    .catch(onError);

vk.appendCall('friends.get')
    .then(function (response) {
        console.log("\nFriends list: ", JSON.stringify(response));
    })
    .catch(onError);

vk.appendCall('photos.getAlbums')
    .then(function (response) {
        console.log("\nAlbums list: ", JSON.stringify(response));
    })
    .catch(onError);

vk.execute();

function onError (error) {
    console.log(JSON.stringify(error));
}