Skip to main content
Help us improve Python packaging – donate today!

A Python wrapper for the OAuth 2.0 specification.

Project Description

A Python wrapper for the OAuth 2.0 specification

Installation

pip:

pip install py-oauth2

easy_install:

easy_install py-oauth2

Usage Examples

Demo for Google

Get user info:

from pyoauth2 import Client

CLIENT_ID = ''
CLIENT_SECRET = ''
REDIRECT_URL = ''
SCOPE = 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email'

client = Client(CLIENT_ID, CLIENT_SECRET,
                site='https://www.googleapis.com/oauth2/v1',
                authorize_url='https://accounts.google.com/o/oauth2/auth',
                token_url='https://accounts.google.com/o/oauth2/token')

print '-' * 80
authorize_url = client.auth_code.authorize_url(redirect_uri=REDIRECT_URL, scope=SCOPE)
print 'Go to the following link in your browser:'
print authorize_url

code = raw_input('Enter the verification code and hit ENTER when you\'re done:')
code = code.strip()
access_token = client.auth_code.get_token(code, redirect_uri=REDIRECT_URL)
print 'token', access_token.headers

print '-' * 80
print 'get user info'
ret = access_token.get('/userinfo')
print ret.parsed

Demo for Douban

Get access_token:

from pyoauth2 import Client

KEY = ''
SECRET = ''
CALLBACK = ''

client = Client(KEY, SECRET,
                site='https://api.douban.com',
                authorize_url='https://www.douban.com/service/auth2/auth',
                token_url='https://www.douban.com/service/auth2/token')

authorize_url = client.auth_code.authorize_url(redirect_uri=CALLBACK, scope='shuo_basic_w,douban_basic_common')

access_token = client.auth_code.get_token(code, redirect_uri=CALLBACK)

Get data:

ret = access_token.get('/v2/user/~me')
print ret.parsed

Upload image:

ret = access_token.post('/shuo/v2/statuses/', text='content from py-oauth2', files={ 'image': open('/path/pic.jpg')})
print ret.parsed

More:

Examples

Demo for Google

Demo for Douban(auth with code)

Demo for Douban(auth with token)

Demo for Douban(auth with password)

Demo for GitHub

Demo for Weibo

Demo for QQ

Demo for Taobao

Demo for Box.com

Demo for Instagram

Submitting a Pull Request

  • Fork the repository.
  • Create a topic branch.
  • Implement your feature or bug fix.
  • Add, commit, and push your changes.
  • Submit a pull request.

Release history Release notifications

This version
History Node

0.0.10

History Node

0.0.9

History Node

0.0.8

History Node

0.0.7

History Node

0.0.6

History Node

0.0.5

History Node

0.0.4

History Node

0.0.3

History Node

0.0.2

History Node

0.0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
py-oauth2-0.0.10.tar.gz (5.4 kB) Copy SHA256 hash SHA256 Source None Aug 10, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page