5.0.0 • Published 2 years ago

fanfou-sdk v5.0.0

Weekly downloads
30,269
License
MIT
Repository
github
Last release
2 years ago

fanfou-sdk-node

npm.io npm.io npm.io npm.io

Fanfou SDK for Node.js

Install

npm i fanfou-sdk

Usage

import Fanfou from 'fanfou-sdk';

OAuth

const ff = new Fanfou({
	consumerKey: '',
	consumerSecret: '',
	oauthToken: '',
	oauthTokenSecret: ''
});

const timeline = await ff.getHomeTimeline();

XAuth

const ff = new Fanfou({
	consumerKey: '',
	consumerSecret: '',
	username: '',
	password: ''
});

await ff.xauth();

const timeline = await ff.getPublicTimeline({count: 10});
const status = await ff.createStatus({status: 'Hi Fanfou'});

Options

  • consumerKey: The consumer key
  • consumerSecret: The consumer secret
  • oauthToken: The OAuth token
  • oauthTokenSecret: The OAuth token secret
  • username: The Fanfou username
  • password: The Fanfou password
  • protocol: Set the prototol, default is http:
  • apiDomain: Set the API domain, default is api.fanfou.com
  • oauthDomain: Set the OAuth domain, default is fanfou.com
  • hooks: Hooks allow modifications with OAuth

For more Fanfou API docs, see the Fanfou API doc.

API

For full SDK API, please refer to the documentation.

Examples

// Get request token
const token = await ff.getRequestToken();

// Get access token
const token = await ff.getAccessToken(token);

// Get timeline
const timeline = await ff.getHomeTimeline();

// Post status
const status = await ff.createStatus({status: 'post test'});

// Upload photo
const result = await ff.uploadPhoto({photo: fs.createReadStream(path), status: 'unicorn'});

// Get user
const user = await ff.getUser({id: 'lito'});

// Request Fanfou API by passing the URI
const timeline = await ff.get('/statuses/home_timeline', {count: 10});
const status = await ff.post('/statuses/update', {status: 'Hi Fanfou'});

Tips

Use hooks for your reverse-proxy server

const ff = new Fanfou({
	consumerKey: '',
	consumerSecret: '',
	oauthToken: '',
	oauthTokenSecret: '',
	apiDomain: 'api.example.com',
	oauthDomain: 'example.com',
	hooks: {
		baseString: str => {
			return str.replace('example.com', 'fanfou.com');
		}
	}
});

Related

License

MIT

5.0.0-beta.8

2 years ago

5.0.0

2 years ago

5.0.0-beta.6

3 years ago

5.0.0-beta.7

3 years ago

5.0.0-beta.5

3 years ago

5.0.0-beta.4

3 years ago

5.0.0-beta.2

3 years ago

5.0.0-beta.3

3 years ago

5.0.0-beta.0

3 years ago

5.0.0-beta.1

3 years ago

4.2.0

4 years ago

4.1.0

4 years ago

4.0.5

5 years ago

4.0.4

5 years ago

4.0.3

5 years ago

4.0.2

5 years ago

4.0.1

5 years ago

4.0.0

5 years ago

3.2.0

5 years ago

3.1.0

5 years ago

3.0.1

6 years ago

3.0.0

6 years ago

2.7.3

6 years ago

2.7.2

6 years ago

2.7.1

6 years ago

2.7.0

6 years ago

2.6.2

6 years ago

2.6.1

6 years ago

2.6.1-G

6 years ago

2.6.0

6 years ago

2.5.1

7 years ago

2.5.0

7 years ago

2.4.0

7 years ago

2.3.1

7 years ago

2.3.0

7 years ago

2.2.0

7 years ago

2.1.10

7 years ago

2.1.9

7 years ago

2.1.8

7 years ago

2.1.7

7 years ago

2.1.6

7 years ago

2.1.5

7 years ago

2.1.4

7 years ago

2.1.3

7 years ago

2.1.2

7 years ago

2.1.1

7 years ago

2.1.0

7 years ago

2.0.9

7 years ago

2.0.8

7 years ago

2.0.7

7 years ago

2.0.6

7 years ago

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago