Fanfou SDK for Deno
import Fanfou from "https://deno.land/x/fanfou_sdk/index.js";
OAuth
const ff = new Fanfou({
consumerKey: "",
consumerSecret: "",
oauthToken: "",
oauthTokenSecret: "",
});
const timeline = await ff.get("/statuses/home_timeline", { format: "html" });
XAuth
const ff = new Fanfou({
consumerKey: "",
consumerSecret: "",
username: "",
password: "",
});
await ff.xauth();
const timeline = await ff.get("/statuses/public_timeline", { count: 10 });
const status = await ff.post("/statuses/update", { status: "Hi Fanfou" });
Options
consumerKey
: The consumer keyconsumerSecret
: The consumer secretoauthToken
: The OAuth tokenoauthTokenSecret
: The OAuth token secretusername
: The Fanfou usernamepassword
: The Fanfou passwordprotocol
: Set the prototol, default ishttp:
apiDomain
: Set the API domain, default isapi.fanfou.com
oauthDomain
: Set the OAuth domain, default isfanfou.com
hooks
: Hooks allow modifications with OAuth
For more Fanfou API docs, see the Fanfou API doc.
ff.getRequestToken();
ff.getAccessToken(token);
ff.xauth();
ff.get(uri, params);
ff.post(uri, params);
ff.upload(uri, params);
Examples
// Get request token
const token = await ff.getRequestToken();
// Get access token
const token = await ff.getAccessToken(token);
// Get timeline
const timeline = await ff.get("/statuses/home_timeline", {});
// Post status
const status = await ff.post("/statuses/update", { status: "post test" });
// Upload photo
const result = await ff.upload("/photos/upload", {
photo: uploadFile,
status: "unicorn",
});
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");
},
},
});
- fanfou-sdk-node - Fanfou SDK for Node.js
- fanfou-sdk-browser - Fanfou SDK for browser
- fanfou-sdk-weapp - Fanfou SDK for WeApp
- fanfou-sdk-python - Fanfou SDK for Python
MIT