Preview 2.0 is now in Public Beta!
Read the Announcement

@nativescript/twitter

A plugin that allows you to authenticate a user with their Twitter account.

Contents

Installation

npm install @nativescript/twitter

Prerequisites

  • Go to Twitter Apps and create your app to obtain the API key and secret.

  • Set a Callback Url with the Twitter.callback property. Whatever will work. For iOS, add the following code to the App_Resources/ios/Info.plist file, and replace the yourscheme text with your URL.

<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>yourscheme></string>
    </array>
  </dict>
</array>
  • Request for the user's permission for your app to retrieve their email. By default, Twitter won't allow you to grab a user's email.

Here is what callbacks would look like:

Usage

Initializing Twitter Sign-in

To set up Twitter Sign in, call the Twitter class's init() method passing it the consumer key and the consumer secret.

import { Twitter, TwitterSignIn } from '@nativescript/twitter'

Twitter.callback = 'yourscheme://'

Twitter.init(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET)

Sign in a user

To sign a user in, call the logIn() method on the TwitterSignIn class.

TwitterSignIn.logIn()
  .then(session => {
    // session.authToken
    // session.authTokenSecret
  })
  .catch(e => {})

API

Twitter

callback

Twitter.callback = 'the callback url'

The callback URL


init()

Twitter.init(consumerKey, consumerSecret)

Initializes the Twitter authentification with the specified key and secret.

ParameterType
consumerKeystring
consumerSecretstring

TwitterSignIn

logIn()

TwitterSignIn.logIn()
  .then((session: Session) => {})
  .catch(err => {})

Session

PropertyTypeDescription
authTokenstringreadonly
authTokenSecretstringreadonly
userNamestringreadonly
userIdstringreadonly
iosanyreadonly
androidanyreadonly

getCurrentUser()

TwitterSignIn.getCurrentUser()
  .then((user: TwitterUser) => {})
  .catch(err => {})

TwitterUser

PropertyTypeDescription
formattedScreenNamestringreadonly
isProtectedbooleanreadonly
isVerifiedbooleanreadonly
namestringreadonly
profileImageUrlstringreadonly
profileUrlstringreadonly
screenNamestringreadonly
userIdstringreadonly

logOut()

TwitterSignIn.logIn()

License

Apache License Version 2.0