def post(self): request_token = self.request.get("token") request_token_secret = self.request.get('token_secret') if not request_token: self.response.content_type = 'application/json' responseJson = {'message': 'invalid parameter'} self.response.write(json.dumps(responseJson)) return # memcacheへ認証情報を設定 from tweepy import oauth access_token = oauth.OAuthToken(request_token, request_token_secret) cookie = set_uuid(self) memcache.set(cookie['sid'].value, access_token, SESSION_EXPIRE) #@UndefinedVariable # DBへユーザ情報を登録 twitter_user = get_twitter_data(cookie) user = User.get_or_insert(User.create_key(twitter_user['id']), userId=twitter_user['id']) user.accessToken = access_token.key user.accessSecret = access_token.secret user.screenName=twitter_user['screen_name'] user.image=twitter_user['profile_image_url'] user.put() self.response.content_type = 'application/json' responseJson = {'message': 'success', 'user': {'id': user.userId, 'image': user.image}} self.response.write(json.dumps(responseJson)) return
def post(self): stageNo = strToInt(self.request.get("stageNo")) logging.info('stageNo=' + str(stageNo)) if stageNo is 0: logging.error('invalid parameter') return stage = KyouenPuzzle.query(KyouenPuzzle.stageNo == stageNo).get() cookie = get_cookie() user = get_user(cookie) if not user: user = User.get_or_insert(User.create_key('0'), userId='0', screenName='Guest', image='http://kyouen.app/image/icon.png') stage_user = StageUser.gql('WHERE stage = :1 AND user = :2', stage.key, user.key).get() if not stage_user: # 存在しない場合は新規作成 stage_user = StageUser(stage=stage.key, user=user.key, clearDate=datetime.datetime.today()) # 新規クリア時はUser.clearStageCountをインクリメント count = user.clearStageCount if not count: count = StageUser.gql('WHERE user = :1', user.key).count() user.clearStageCount = count + 1 user.put() else: stage_user.clearDate = datetime.datetime.today() stage_user.put()
def get(self): request_token_key = self.request.get("oauth_token") request_verifier = self.request.get('oauth_verifier') if not request_token_key: self.redirect('/') return request_token = RequestToken.gql("WHERE token_key=:1", request_token_key).get() request_token.key.delete() auth = tweepy.OAuthHandler(Const.CONSUMER_KEY, Const.CONSUMER_SECRET) auth.set_request_token(request_token.token_key, request_token.token_secret) access_token = auth.get_access_token(request_verifier) cookie = get_cookie() memcache.set(cookie['sid'].value, access_token, SESSION_EXPIRE) #@UndefinedVariable twitter_user = get_twitter_data(cookie) user = User.get_or_insert(User.create_key(twitter_user['id']), userId=twitter_user['id']) user.accessToken = access_token.key user.accessSecret = access_token.secret user.screenName=twitter_user['screen_name'] user.image=twitter_user['profile_image_url'] user.put() self.redirect('/')