Skip to content

vincentwyshan/py-oauth2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

py-oauth2

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

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',]
SCOPE = ' '.join(SCOPE)

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')
# got code
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:

https://github.com/liluo/py-oauth2/wiki

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

License

MIT

Authors

This is the list of authors of py-oauth2, sorted by time:

  • liluo
  • waawal
  • qingfeng
  • alswl
  • Grigi
  • skiyo

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.

About

A Python wrapper for the OAuth 2.0 specification

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%