How to access Twitter REST API v1.1 using curl?

10,450

When you change the parameters, the OAuth signature base string does change, so the oauth_signature header does also change. That's why you can't reuse the signature when you change the parameters.

If you want to see the curl request for any specific request to Twitter API, have a look at the STTwitter library for OS X. The demo project includes a GUI client that will show you the OAuth request in curl format.

Now if your goal is just issuing requests to Twitter from command line, check out twurl which is a command-line client for Twitter API.

Share:
10,450

Related videos on Youtube

Raffael
Author by

Raffael

Updated on May 26, 2022

Comments

  • Raffael
    Raffael almost 2 years

    Using the "Test OAuth" feature (application settings) I can generate a fully set up curl command for a specified API request:

    curl --get 'https://api.twitter.com/1.1/followers/ids.json' 
      --data 'count=10&cursor=-1&screen_name=microsoft' 
      --header 'Authorization: OAuth 
          oauth_consumer_key="123consumer", 
          oauth_nonce="123nonce", 
          oauth_signature="123signature%3D", 
          oauth_signature_method="HMAC-SHA1", 
          oauth_timestamp="1402309080", 
          oauth_token="123-token", 
          oauth_version="1.0"' 
      --verbose 
    

    This is exactly what I would like to do but with varying API requests. But just exchanging "microsoft" in above command with "google" will cause an error:

    {"errors":[{"message":"Could not authenticate you","code":32}]}
    

    Why is that not possible and how can I make it work?


    As far as I understand OAuth all I need for authorizing a request is the oauth-key/values listed in step G of the following chart:

    chart


    This is the "official" answer: Authorizing a request

  • Raffael
    Raffael almost 10 years
    but I could also just calculate a new signature, right? I guess SHA 1-HMAC is just a hashing algo.
  • nst
    nst almost 10 years
    You can create the signature by yourself is you wish, the process is documented in Twitter's API documentation dev.twitter.com/docs/auth/creating-signature
  • Raffael
    Raffael almost 10 years
    thanks, I always try to go without external dependencies off possible. and if can do it in curl directly, I can do it in almost any language