Twitter OAuth the easy way – simple post to twitter script

Posting to twitter with OAuthAfter Twitter introduced mandatory authentication with OAuth, many of the current scripts for posting content to Twitter don’t work anymore.

OAuth can be great for more advanced authentication, but for a simple post to twitter script, it seems like a little overkill.

In this post you’ll learn how to create a simple script that uses a quick and dirty version of OAuth for posting new tweets to Twitter.

How to create a simple script

Simplified, Twitter OAuth involves sending both application tokens and user tokens back and forth between your site and Twitter.

If you want to authenticate multiple users, you need a full OAuth implementation, but if you only want a script that sends tweets from your site or application, the good news is that all the authentication tokens and keys can be reused, which makes it possible to build a very simple script, as long as you just get the required tokens and keys once .

To get the required key and tokens you need to carefully follow the next steps

Step 1 – Register your application

First you need to register your application at Twitter here.

Please notice that you need to log in to Twitter at the start of the Application  registration process. The account that you’re logging in to, is naturally also the twitter account that you’re application can post tweets to.

Signup form for twitter applications

Filling in the form is pretty straightforward.

The only special requirement for our purpose is set Default Access type to “Read & write”, so your application is allowed to post tweets to twitter

Step 2 – Consumer secret and Consumer key

When your application is registered by Twitter, you also have all the required keys for your script.

You find the consumer keys here:

View Your Applications -> Edit Details

The consumer keys can be found at the last part of the page

Step 3 – Access token and Access token secret

You find the Access token and Access token secret by clicking on the “My Access token” link in the right menu.

When you have the four keys/tokens:

  • Consumer secret
  • Consumer key
  • Access token
  • Access token secret

You’re ready to proceed

Step 4 – Twitter OAuth class

To connect to twitter using OAuth we’ll be using the brilliant Abraham Twitter OAuth class. The Abraham twitter OAuth class has a lot of overhead enabling more advanced authentication than is required for this script. You only need the two files “OAuth.php”  and “twitteroauth.php”.

You can download the two files directly here.

When you have downloaded the files, and uploaded them on your server, you’re ready for the last step

Step 5 – Post to twitter script

Having the required access tokens, keys and the Twitter OAuth class, it’s a piece of cake to build a script that posts messages to twitter.

You just need to insert the required keys and the path to the twitteroauth.php file in the script below, and then you’re up and running.

$consumerKey    = '<insert your consumer key';
$consumerSecret = '<insert your consumer secret>';
$oAuthToken     = '<insert your access token>';
$oAuthSecret    = '<insert your token secret>';

require_once($_SERVER['DOCUMENT_ROOT'].'/<insert path to twitteroauth>/twitteroauth.php');

// create a new instance
$tweet = new TwitterOAuth($consumerKey, $consumerSecret, $oAuthToken, $oAuthSecret);

//send a tweet
$tweet->post('statuses/update', array('status' => 'Hello World'));


The process for getting this script up and running might be a little  complex, but you only have to go through the process once, and then you have a very simple to use script for sending tweets to twitter from a PHP script.

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS
fold-left fold-right
About the author
Jørgen Nicolaisen has been passionately interested in everything online since 1995. His experience is based on working with small hobby projects as well as high volume websites. Jørgen is currently focused on the PHP based programming framework - Codeigniter, and WordPress naturally

56 Replies to Twitter OAuth the easy way – simple post to twitter script

  1. Clive says:

    Unfortunately I couldn’t get it to work until I corrected an issue in OAuth.php as per the approved answer on this page:
    Lines 381-386 should look like this after correcting…
    381: $parts = parse_url($this->http_url) + array(‘port’=>NULL, ‘path’=>NULL);
    383: $port = $parts[‘port’];
    384: $scheme = $parts[‘scheme’];
    385: $host = $parts[‘host’];
    386: $path = $parts[‘path’];

  2. nico_lazz says:

    easy and it’s working! Thanks ;-)
    ( Abraham Twitter OAuth class doesn’t work with PHP 5.0.4, but it work with PHP 5.2.6)

  3. Steve says:

    Thanks jhnidk & Clive for the update – now works perfect on my site!

  4. The Dr1ver says:

    Thanks for this. I’ve read several articles on using OAuth and the Twitter API, and this is the only one that was easy to follow and actually worked like it was supposed to.

  5. Aaron Wright says:

    Make sure your token info has no spaces. I had a hard time with this, until I read Peter’s comment about how to view the error message. It was an authentication error. So I double checked the tokens. Sure enough, I had inserted a space before my consumer key, so I had $consumerKey = ‘ xxxx’ (with the space) when it should be
    $consumerKey = ‘xxxx’ (without the space). That difference was enough to break it. I removed the space and it worked! That is hard to spot, so double check that.

  6. Steve says:

    Hey Jorgen, thanks for the share. Worked first time, excellent thankyou.

Comments are now closed for this article.