Ejemplo n.º 1
0
def get_token() : 
    #my weibo account
    os.environ['REMOTE_ADDR'] = '103.8.222.56'
    #get code
    auth = OAuthHandler(consumer_key,consumer_secret,consumer_url)
    params = urllib.urlencode({'action':'submit','withOfficalFlag':'0','ticket':'','isLoginSina':'', \
    'response_type':'code', \
    'regCallback':'', \
    'redirect_uri':consumer_url, \
    'client_id':consumer_key, \
    'state':'', \
    'from':'', \
    'userId':username, \
    'passwd':password, \
    })
    authPage = urllib2.urlopen(auth.get_authorization_url())
    login_url = 'https://api.weibo.com/oauth2/authorize'
    request = urllib2.Request(login_url, params)
    request.add_header("Referer", auth.get_authorization_url())
    codePage = urllib2.urlopen(request)
    code = codePage.geturl().split('code%3D')[1]
    #use code exchange token
    tokenData = 'client_id='+consumer_key+'&client_secret='+consumer_secret+'&grant_type=authorization_code&redirect_uri='+consumer_url+'&code='+code
    request = urllib2.Request("https://api.weibo.com/oauth2/access_token", tokenData)
    tokenPage = urllib2.urlopen(request)
    tokenJson = json.loads(tokenPage.read())
    token = tokenJson['access_token']
   
    db.update('token',where="id =$id", vars={'id':'weibo'}, token = token)
Ejemplo n.º 2
0
def login():
    session['login_ok_url'] = get_referer()
    callback = 'http://appstack.sinaapp.com/login_callback'

    auth = OAuthHandler(consumer_key, consumer_secret, callback)
    # Get request token and login url from the provider
    url = auth.get_authorization_url()
    session['oauth_request_token'] = auth.request_token
    # Redirect user to login
    return redirect(url)
Ejemplo n.º 3
0
def login():
    session['login_ok_url'] = get_referer()
    callback = 'http://appstack.sinaapp.com/login_callback'

    auth = OAuthHandler(consumer_key, consumer_secret, callback)
    # Get request token and login url from the provider
    url = auth.get_authorization_url()
    session['oauth_request_token'] = auth.request_token
    # Redirect user to login
    return redirect(url)
Ejemplo n.º 4
0
def login_with_sinaid(request):
    callback = request.build_absolute_uri('/check_user_login_sina')    
    auth = OAuthHandler(consumer_key=consumer_key, consumer_secret=consumer_secret , callback=callback)
    try:
        authorization_url = auth.get_authorization_url()
    except WeibopError:
        request.session['errormessage'] = ugettext('Connect sina twitter fail, please retry')
        return login(request)
        
    request_token = auth.request_token
    request.session['oauth_request_token'] = request_token
    return HttpResponseRedirect(authorization_url)
Ejemplo n.º 5
0
def login_with_sinaid(request):
    callback = request.build_absolute_uri('/check_user_login_sina')
    auth = OAuthHandler(consumer_key=consumer_key,
                        consumer_secret=consumer_secret,
                        callback=callback)
    try:
        authorization_url = auth.get_authorization_url()
    except WeibopError:
        request.session['errormessage'] = ugettext(
            'Connect sina twitter fail, please retry')
        return login(request)

    request_token = auth.request_token
    request.session['oauth_request_token'] = request_token
    return HttpResponseRedirect(authorization_url)
Ejemplo n.º 6
0
def main():
    c = get_conf()
    o = OAuthHandler(c['consumer_key'], c['consumer_secret'])
    c['authorization_url'] = o.get_authorization_url()
    c['request_token'] = o.request_token
    print c['authorization_url']
    verifier = raw_input('click the url above, then input the verifier: ')
    verifier = verifier.strip()
    c['verifier'] = verifier
    try:
        access_token = o.get_access_token(verifier)
        c['access_token_key'] = access_token.key
        c['access_token_secret'] = access_token.secret
        c['access_token'] = access_token.to_string()
        set_conf(c)
        print 'oauth succeeded'
    except:
        print 'oauth failed'
Ejemplo n.º 7
0
def main():
    c = get_conf()
    o = OAuthHandler(c['consumer_key'], c['consumer_secret'])
    c['authorization_url'] = o.get_authorization_url()
    c['request_token'] = o.request_token
    print c['authorization_url']
    verifier = raw_input('click the url above, then input the verifier: ')
    verifier = verifier.strip()
    c['verifier'] = verifier
    try:
        access_token = o.get_access_token(verifier)
        c['access_token_key'] = access_token.key
        c['access_token_secret'] = access_token.secret
        c['access_token'] = access_token.to_string()
        set_conf(c)
        print 'oauth succeeded'
    except:
        print 'oauth failed'
Ejemplo n.º 8
0
def get_authorization_url(user_name,server_user_name,server_user_pix='timger',server='sina',callback=None,consumer_key=_conf.consumer_key,consumer_secret=_conf.consumer_secret,):
    import sys 
    sys.path.append(os.path.join(DIR_PATH,'../'))
    from db import * 

    o = OAuthHandler(consumer_key, consumer_secret,callback=callback)
    authorization_url = o.get_authorization_url()
    request_token = o.request_token
    print request_token
    sdb = TWDBS(consumer_key=consumer_key,consumer_secret=consumer_secret,request_token=str(request_token))
    session.add(sdb)
    session.commit()
    session.close()
    res = {}
    res['request_token'] = request_token
    res['authorization_url'] = authorization_url
    
    print authorization_url 
    return res
Ejemplo n.º 9
0
#!/usr/bin/python 
#-*- coding: utf-8 -*-
 
#-------------------------------------------------------
#Var
#-------------------------------------------------------
###AppInfo
APP_KEY = "3786122414"
APP_SECRET = "3f0d9e2f3ae7f117755971dc358f7b5b"
#-------------------------------------------------------
 
from weibopy import OAuthHandler, oauth, WeibopError
 
###获得应用的token
auth = OAuthHandler(APP_KEY, APP_SECRET)
###获得用户OAuth登录的url
auth_url = auth.get_authorization_url()
print "Please Auth: "+auth_url
verifier = raw_input("PIN: ").strip()
access_token = auth.get_access_token(verifier)
###获得access_token
 
###发布微博
api = API(auth)
status = api.update_status(status="Hello World")
 
###获得access_token后,以后便可以通过
###auth.set_access_token(access_token.key, access_token.secret)
###完成授权.