Skip to content
Example of how to authenticate against Twitter oAuth using Django
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
twitter_app
README.markdown

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.