Nominal Pizza Masticator

    twitter-v1-oauth
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.15 • Public • Published

    Twitter OAuth 1.0a 🔑

    npm version Build and Test codecov CodeFactor

    Simple and minimalist module to generate oAuth1.0a authorization header for Twitter API v1.1 and V2.

    import dotenv from "dotenv";
    dotenv.config();
    
    import axios from "axios";
    import oAuth1a from "twitter-v1-oauth";
    
    const oAuthOptions = {
      api_key: process.env.TWITTER_API_KEY || "",
      api_secret_key: process.env.TWITTER_API_SECRET_KEY || "",
      access_token: process.env.TWITTER_ACCESS_TOKEN || "",
      access_token_secret: process.env.TWITTER_ACCESS_TOKEN_SECRET || "",
    };
    const url = "https://api.twitter.com/1.1/search/tweets.json";
    const method = "GET";
    const params = { q: "twitter bot" };
    
    const authorization = oAuth1a({ method, url, params }, oAuthOptions);
    
    axios
      .get(url, {
        params,
        headers: {
          authorization,
        },
      })
      .then(({ data }) => console.log(data))
      .catch((err) => {
        if (err.response) {
          return console.log(err.response.data.errors);
        }
        console.log(err);
      });

    No dependencies and super small: install size.

    twitter-v1-oauth

    Install

    npm install twitter-v1-oauth

    Usage

    Create an app and get your credentials, you will need:

    • API KEY
    • API SECRET KEY
    • ACCESS TOKEN
    • ACCESS TOKEN SECRET

    Use your preferred library to send the request using the documented endpoints and parameters for the twitter v1 API.

    Twitter API v1.1 vs V2

    When making a post request to Twitter API v1.1, the data needs to be encoded and sent as application/x-www-form-urlencoded. The module exports an encode function that can be used to properly encode the body before it is send. Check post-tweet for an example.

    Whe making a post request to Twitter API v2, the data doesn't need to be encoded and must be sent as application/json. Check like-v2 for an example.

    CommonJS

    const authRequest = require("twitter-v1-oauth").default;

    ES6 Modules

    import oAuthRequest from "twitter-v1-oauth";

    TypeScript

    Type definitions are included.

    Examples

    Check the examples directory for ideas on how to use it with axios.

    The index.test.ts file should also provide a good idea on its usage.

    Twitter documentation

    License

    MIT

    Install

    npm i twitter-v1-oauth

    DownloadsWeekly Downloads

    102

    Version

    1.0.15

    License

    MIT

    Unpacked Size

    12 kB

    Total Files

    15

    Last publish

    Collaborators

    • mauriciorobayo