react-native-twitter
A Twitter API client library for React NativeInstallation Usage
* [`auth(tokens, callbackUrl[, options])`](#authtokens-callbackurl-options)
* [`auth(tokens, pinPromise[, options])`](#authtokens-pinpromise-options)
* [`const client = twitter(tokens)`](#const-client-twittertokens)
* [`rest.get(path[, params])`](#restgetpath-params)
* [`rest.post(path[, params])`](#restpostpath-params)
* [`stream(path, params)` (Android only)](#streampath-params-android-only)
Installation
npm i react-native-twitter -S
react-native link
If you use 3-legged authorization, you need to add the deep link scheme for your callback URL. See React Native docs and example for more info.
Usage
import twitter, {auth} from 'react-native-twitter';
auth(tokens, callbackUrl[, options])
Get the client's authentication tokens via 3-legged authorization.- tokens
consumerKey
Your consumer key
consumerSecret
Your consumer secretcallbackUrl
The URL a user is redirected to, you need to add the deep link scheme for this URLoptions
accessType
Specify x_auth_access_type
, supported values are 'read'
or 'write'
(See Twitter docs.)
forSignIn
If true
, oauth/authenticate endpoint is used instead of oauth/authorize (Default: false
)
forceLogin
Specify force_login
(See Twitter docs.) (Default: false
)
screenName
Specify screen_name
(See Twitter docs.)- Returns:
Promise
of{accessToken, accessTokenSecret, id, name}
accessToken
Access token
accessTokenSecret
Access token secret
id
User id
name
Screen nameauth(tokens, pinPromise[, options])
Get the client's authentication tokens via PIN-based authorization.pinPromise
Promise
which resolves to PIN
- Returns:
Promise
of{accessToken, accessTokenSecret, id, name}
const client = twitter(tokens)
Create a Twitter API client.- tokens
consumerKey
Your consumer key
consumerSecret
Your consumer secret
accessToken
Access token
accessTokenSecret
Access token secretconst {rest, stream} = twitter(tokens);
rest.get(path[, params])
Make GET requests.path
The endpoint pathparams
Parameters for the request
- Returns:
Promise
rest.post(path[, params])
Make POST requests.path
The endpoint pathparams
Parameters for the request
- Returns:
Promise
There is no
File
or Blob
in React Native, but you can use Object
with uri
property as media files for media uploading endpoints such as account/updateprofileimage. Below is an example of changing profile image to the latest photo from CameraRoll
.CameraRoll.getPhotos({first: 1})
.then(({edges: [{node: {image}}]}) => rest.post('account/update_profile_image', {image}))
.then(() => {console.log('done');})
.catch(console.error);
stream(path, params)
(Android only)
Connect to Streaming APIs.path
The endpoint pathparams
Parameters for the request
- Returns:
EventEmitter
'data'
'error'
close()
Close the connection