我正在尝试学习如何将OAuth用于我正在开发的应用程序,而且我似乎无法围绕验证代码部分和重定向URI。这就是我所拥有的......我不明白重定向URI的意义,一旦得到有效的验证码。我怎样才能在JSON中为用户提供Google的日历活动?
from pyoauth2 import Client
CLIENT_ID = 'XXXXXXXXXXXXXX'
CLIENT_SECRET = 'XXXXXXXXXXXXXX'
REDIRECT_URL = 'XXXXXXXXXXXXXX'
SCOPE = 'https://www.googleapis.com/auth/calendar 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
哎呀..忘记了错误..我甚至不确定验证码应该是什么样的。
token {'Authorization': 'Bearer '}
--------------------------------------------------------------------------------
get user info
{u'error': {u'code': 401, u'message': u'Invalid Credentials', u'errors': [{u'locationType': u'header', u'domain': u'global', u'message': u'Invalid Credentials', u'reason': u'authError', u'location': u'Authorization'}]}}
答案 0 :(得分:0)
根据您的要求,您可以考虑尝试rauth。 Rauth是OAuth 1.0 / a,2.0和Ofly的简单消费者客户端。虽然我没有立即提供Google的示例,但您可以在GitHub上查看example scripts,了解如何使用它。特别是,Facebook的例子应该是一个非常相似的流程。如果您需要更详细的帮助,请随时与我联系。