def GET(self): client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, callback=CALLBACK_URL) request_token = client.get_request_token() # 保存request_token: self.save_request_token(request_token.oauth_token, request_token.oauth_token_secret) url = client.get_authorize_url(request_token.oauth_token) # redirect to url raise web.found(url)
def GetBlogClient(uname, passw): APP_KEY = u'XXXXXXXXXX' # app key APP_SECRET = u'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' # app secret #实例化APIClient client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET) #获取OAuth request token reqToken = client.get_request_token() #用户授权url auth_url = client.get_authorize_url(reqToken) post_data = urllib.urlencode({ "action": "submit", "forcelogin": "", "from": "", "oauth_callback": "http://api.weibo.com/oauth2/default.html", "oauth_token": reqToken.oauth_token, "passwd": passw, "regCallback": "", "ssoDoor": "", "userId": uname, "vdCheckflag": 1, "vsnval": "" }) mat = re.search( r'&oauth_verifier=(.+)', urllib2.urlopen( urllib2.Request("http://api.t.sina.com.cn/oauth/authorize", post_data, headers={ 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1)', 'Referer': auth_url })).url) if mat: client = APIClient( APP_KEY, APP_SECRET, OAuthToken(reqToken.oauth_token, reqToken.oauth_token_secret, mat.group(1))) #返回APIClient return APIClient(APP_KEY, APP_SECRET, client.get_access_token()) else: raise Exception()
def GetBlogClient(uname, passw): client = APIClient(app_key=app_key, app_secret=app_secret) reqToken = client.get_request_token() auth_url = client.get_authorize_url(reqToken) return APIClient(app_key, app_secret, client.get_access_token())