Flutter
Twitter API authentication and fetching helpers
Managing oauth flow can be a pain and involve a lot of messy code. Flutter helps with that.
Auth flow example
var express = ;var Flutter = ; var flutter = consumerKey: 'MY CONSUMER KEY' consumerSecret: 'MY CONSUMER SECRET' loginCallback: 'http://my-host/twitter/callback' { if reqerror // Authentication failed, req.error contains details return; var accessToken = reqsessionoauthAccessToken; var secret = reqsessionoauthAccessTokenSecret; // Store away oauth credentials here // Redirect user back to your app res; }; var app = ; app; // URL used in loginCallback aboveapp; // Direct users to /twitter/connect to initiate oauth flow.
Querying Twitter API
Currently only GET
functions are supported
// var {accessToken, secret} = retrieve credentials for request flutterAPI;
Options
var flutter = // Pass this to log messages inside Flutter { ... } // Twitter API app credentials consumerKey: 'foo' consumerSecret: 'bar' // Twitter API login callback loginCallback: 'http://foo.com/authCallback' // the URL to redirect to after authorisation is complete and we have tokens // will not be used if authCallback is overridden completeCallback: 'http://foo.com/completeCallback' // called immediately before the user is redirected to Twitter's authorize // screen, used this to stash parameters etc on the request session {} // Called on successful auth. // req.session contains auth parameters (see above) // if not defined, Flutter will redirect to completeCallback specified above {} // Cache lifetime to use for API requests. Set to something falsy to disable cache cache: 60000 // Redis config. Used for caching api responses. // `options` is passed to redis.createClient (https://github.com/NodeRedis/node_redis#rediscreateclient) redis: host: 'localhost' port: 6379 database: 0 options: {} // set this to a redis client to use instead of creating a new one cacheClient: redisClient // Key prefix used on all cache keys in redis prefix: 'flutter:' ;