shimo v1.7.0
Shimo.js
Official Shimo client for Node.js. Supports Node.js >= 0.10.
Links
Install
npm install shimo
Usage
var Shimo = require('shimo');
var shimo = new Shimo({ version: 'v2' });
Shimo
constructor accepts an option, where:
name | required | default | description |
---|---|---|---|
version | true | API version | |
protocol | false | https | API protocol |
host | false | api.shimo.im | API host |
clientId | false | null | Client id, used for requesting tokens |
clientSecret | false | null | Client secret, used for requesting tokens |
accessToken | false | null | Access Token, used for access private resources |
refreshToken | false | null | Refresh Token, used for exchanging access token |
API supports both Node-style callback and Bluebird Proimse:
shimo.get('users/me', function (err, user) {});
shimo.get('users/me').then(function (user) {});
accessToken
is required in order to access private resources. If accessToken
is omitted or invalid (getting 401
error when accessing APIs), refreshToken
, if present, would be used to exchange a new access token and refresh token.
API
Shimo#:httpMethod
Invoking Shimo Open API. Accepts three arguments:
name | required | description |
---|---|---|
path | true | API endpoint, e.g. 'users/me' |
option | false | API options, e.g. { qs: { id: 12 }, body: { title: 'new' } } |
callback | false | Callback function. If omitted, a promise will be returned |
Example:
shimo.post('files', { body: { name: 'Untitled Document' } });
Shimo#token
Requesting tokens. Accepts three arguments:
name | required | description |
---|---|---|
grant type | true | Grant type, e.g. 'refresh_token' , 'password' |
option | false | Token options, e.g. { scope: 'read' } |
callback | false | Callback function. If omitted, a promise will be returned |
Example:
shimo.token('authorization', {
code: req.query.code,
redirect_uri: 'https://yourapp.tld/oauth/callback'
});
Shimo#authorization
Getting authorization endpoint url.
Example:
// redirect user to the authorization page
res.redirect(shimo.authorization({
redirect_uri: 'https://yourapp.tld/oauth/callback'
}));
Events
Shimo extends EventEmitter
and will emit the following events:
accesstoken_change
When access token changed, the first argument is the new access token.
Example:
shimo.on('accesstoken_change', function (accessToken) { });
refreshtoken_change
When refresh token changed, the first argument is the new refresh token.
Example:
shimo.on('refreshtoken_change', function (refreshToken) {
req.session.refreshToken = refreshToken;
});
7 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago