def GET(self): # 获取URL参数: oauth_token = web.input().get('oauth_token') oauth_verifier = web.input().get('oauth_verifier') # 使用oauth_token查表获取上一步保存的oauth_token_secret: oauth_token_secret = cache.get(oauth_token.encode('ascii')) # 构造完整的request token: request_token = OAuthToken(oauth_token, oauth_token_secret, oauth_verifier) # 用request token获取access token: client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, token=request_token) access_token = client.get_access_token() # 通过access token调用一个API获取用户uid信息: client = APIClient(APP_KEY, APP_SECRET, access_token) account = client.account__verify_credentials() uid = str(account.id) # 保存uid和access token以后使用: self.save_access_token_to_db(uid, access_token.oauth_token, access_token.oauth_token_secret) try: # 发表一条授权成功的微博 client.post.statuses__update(status="本微博帐号已成为一个基于OPENTree0应用的树洞,欢迎大家来此吐槽生活。树洞的使用方法请见OPENTree0主页:http://opentree0.sinaapp.com/") except HTTPError: logging.error("重复发送微博。") raise web.found('/success')