8.6 Released with 🥽 visionOS support and more!
Check it out

View on GitHub

@nativescript/twitter

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

Contents

Installation

cli
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.

xml
<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:

callback screenshot

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.

ts
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.

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

API

Twitter

callback

ts
Twitter.callback = 'the callback url'

The callback URL


init()

ts
Twitter.init(consumerKey, consumerSecret)

Initializes the Twitter authentification with the specified key and secret.

ParameterType
consumerKeystring
consumerSecretstring

TwitterSignIn

logIn()

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

Session

PropertyTypeDescription
authTokenstringreadonly
authTokenSecretstringreadonly
userNamestringreadonly
userIdstringreadonly
iosanyreadonly
androidanyreadonly

getCurrentUser()

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

TwitterUser

PropertyTypeDescription
formattedScreenNamestringreadonly
isProtectedbooleanreadonly
isVerifiedbooleanreadonly
namestringreadonly
profileImageUrlstringreadonly
profileUrlstringreadonly
screenNamestringreadonly
userIdstringreadonly

logOut()

ts
TwitterSignIn.logIn()

License

Apache License Version 2.0

Next
Zip