Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Example of how to authenticate against Twitter oAuth using Django

branch: master
README.markdown

django-twitter-oauth (No longer updated by me)

Live example can be seen @fourmargins.com/labs/twitter_oauth/!

(Original snippet based on Simon Willison's Fire Eagle views )

Requirements

Installation

Add the 'twitter_app' directory somewhere on your 'PYTHONPATH', put it into 'INSTALLED_APPS' in your settings file. Fill in your CONSUMER_KEY and CONSUMER_SECRET either in 'twitter_app/utils.py' or in your settings file.

  • Add this line to your Django project's urlconf: url(r'^twitter/', include('twitter_app.urls')),

You're good to go!

API Usage

Use the API resources listed on the REST API Documentation. I've currently implemented two functions, which you can see in the end of twitter_app/utils.py.

Here's how you might implement a delete method:

def delete_status_message(consumer, connection, access_token, tweet_id):
    oauth_request = request_oauth_resource(consumer, 'http://twitter.com/statuses/destroy/%s.json' % tweet_id, access_token)
    json = fetch_response(oauth_request, connection)
    return json

Then, in your views.py, you could define a simplistic function like so: def delete_tweet(request, tweet_id): access_token = request.session.get('access_token', None) if not access_token: return HttpResponse("You need an access token!") token = oauth.OAuthToken.from_string(access_token)

    message = delete_status_message(CONSUMER, CONNECTION, token, tweet_id)
    if message:
        message = simplejson.loads(message)
    return return render_to_response('twitter_app/delete_tweet.html', {'message': message})
Something went wrong with that request. Please try again.