Skip to content

Example of how to authenticate against Twitter oAuth using Django

Notifications You must be signed in to change notification settings

markng/django-twitter-oauth

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

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})

About

Example of how to authenticate against Twitter oAuth using Django

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%