Skip to content

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
Python
branch: master
Failed to load latest commit information.
twitter_app Add missing import.
README.markdown Added a notice that this project is no longer maintained by me.

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.