Ejemplo n.º 1
0
    def get(self):
        verifier = str(self.get_argument('oauth_verifier', None))
        auth_client = _oauth()
        # 设置之前保存在session的request_token
        request_token = self.session['oauth_request_token']
        del self.session['oauth_request_token']
        self.session.save()
        auth_client.set_request_token(request_token.key, request_token.secret)

        access_token = auth_client.get_access_token(verifier)
        current_user = auth_client.get_username()
        api = API(auth_client)

        self.session['me'] = api.me()
        self.session['username'] = current_user
        session_mc_client.set(str(api.me().id), self.session.session_id)
        self.set_cookie('sid', self.session.session_id)
        self.set_cookie('uid', str(api.me().id))

        # 保存access_token,以后访问只需使用access_token即可
        self.session['oauth_access_token'] = access_token
        self.session['platform'] = 'weibo'
        self.session.save()
        # 跳转回最初登录前的页面
        back_to_url = self.session.get('login_back_to_url', '/')
        return self.redirect(back_to_url)
Ejemplo n.º 2
0
    def get(self):
        verifier = str(self.get_argument('oauth_verifier', None))
        auth_client = _oauth()
        # 设置之前保存在session的request_token
        request_token = self.session['oauth_request_token']
        del self.session['oauth_request_token']
        self.session.save()
        auth_client.set_request_token(request_token.key, request_token.secret)

        access_token = auth_client.get_access_token(verifier)
        current_user = auth_client.get_username()
        api = API(auth_client)

        # save the user info to database
        info = api.me()
        user, created = User.objects.get_or_create(weibo_id=str(info.id))
        if created:
          user.avatar = info.profile_image_url
          user.name = info.screen_name
          user.save()


        self.session['me'] = info
        self.session['username'] = current_user

        # 保存access_token,以后访问只需使用access_token即可
        self.session['oauth_access_token'] = access_token
        self.session.save()
        # 跳转回最初登录前的页面
        back_to_url = self.session.get('login_back_to_url', '/')
        return self.redirect(back_to_url)
Ejemplo n.º 3
0
    def get(self):
        verifier = str(self.get_argument('oauth_verifier', None))
        auth_client = _oauth()
        # 设置之前保存在session的request_token
        request_token = self.session['oauth_request_token']
        del self.session['oauth_request_token']
        self.session.save()
        auth_client.set_request_token(request_token.key, request_token.secret)

        access_token = auth_client.get_access_token(verifier)
        current_user = auth_client.get_username()
        api = API(auth_client)

        # save the user info to database
        info = api.me()
        user, created = User.objects.get_or_create(weibo_id=str(info.id))
        if created:
            user.avatar = info.profile_image_url
            user.name = info.screen_name
            user.save()

        self.session['me'] = info
        self.session['username'] = current_user

        # 保存access_token,以后访问只需使用access_token即可
        self.session['oauth_access_token'] = access_token
        self.session.save()
        # 跳转回最初登录前的页面
        back_to_url = self.session.get('login_back_to_url', '/')
        return self.redirect(back_to_url)
Ejemplo n.º 4
0
def showstatus(request):
    logined = False
    if request.session.get('oauth_access_token'):
        logined = True
        access_token = request.session['oauth_access_token']
    else:
        return render_to_response('wb/status.html', locals())
    access_token = request.session['oauth_access_token'] 
    auth = OAuthHandler(SINA_APP_KEY, SINA_APP_SECRET)
    auth.set_access_token(access_token.key, access_token.secret)
    api = API(auth)
    try: 
        gender = "male" if api.me().gender == "m" else "female"
        id = api.me().id
        screen_name = api.me().screen_name
        description = api.me().description
        location = api.me().location
        profile_image_url = api.me().profile_image_url
    except :
        return render_to_response('wb/status.html', locals())
    return render_to_response('wb/status.html', locals())
Ejemplo n.º 5
0
def showstatus(request):
    logined = False
    if request.session.get('oauth_access_token'):
        logined = True
        access_token = request.session['oauth_access_token']
    else:
        return render_to_response('wb/status.html', locals())
    access_token = request.session['oauth_access_token']
    auth = OAuthHandler(SINA_APP_KEY, SINA_APP_SECRET)
    auth.set_access_token(access_token.key, access_token.secret)
    api = API(auth)
    try:
        gender = "male" if api.me().gender == "m" else "female"
        id = api.me().id
        screen_name = api.me().screen_name
        description = api.me().description
        location = api.me().location
        profile_image_url = api.me().profile_image_url
    except:
        return render_to_response('wb/status.html', locals())
    return render_to_response('wb/status.html', locals())
Ejemplo n.º 6
0
def test_rp(request):
    if request.method == 'POST':
        success = ""
        access_token = request.session['oauth_access_token']
        auth = OAuthHandler(SINA_APP_KEY, SINA_APP_SECRET)
        auth.set_access_token(access_token.key, access_token.secret)
        api = API(auth)
        try:
            username = api.me().screen_name
            number = int(md5.md5(username.encode('utf-8')).hexdigest(), 16)
            rp = number % 100
            rating = rp2rating(rp)
            api.update_status(u"%s, 你的人品是 %d, %s" %(username, rp, rating))
            success = u"成功发布"
        except:
            raise
            success = u"失败"
        return HttpResponseRedirect('/status')
    return HttpResponseRedirect('/status')
Ejemplo n.º 7
0
def test_rp(request):
    if request.method == 'POST':
        success = ""
        access_token = request.session['oauth_access_token']
        auth = OAuthHandler(SINA_APP_KEY, SINA_APP_SECRET)
        auth.set_access_token(access_token.key, access_token.secret)
        api = API(auth)
        try:
            username = api.me().screen_name
            number = int(md5.md5(username.encode('utf-8')).hexdigest(), 16)
            rp = number % 100
            rating = rp2rating(rp)
            api.update_status(u"%s, 你的人品是 %d, %s" % (username, rp, rating))
            success = u"成功发布"
        except:
            raise
            success = u"失败"
        return HttpResponseRedirect('/status')
    return HttpResponseRedirect('/status')
Ejemplo n.º 8
0
    def get(self):
        verifier = str(self.get_argument('oauth_verifier', None))
        auth_client = _oauth()
        # 设置之前保存在session的request_token
        request_token = self.session['oauth_request_token']
        del self.session['oauth_request_token']
        self.session.save()
        auth_client.set_request_token(request_token.key, request_token.secret)

        access_token = auth_client.get_access_token(verifier)
        current_user = auth_client.get_username()
        api = API(auth_client)

        self.session['me'] = api.me()
        self.session['username'] = current_user

        # 保存access_token,以后访问只需使用access_token即可
        self.session['oauth_access_token'] = access_token
        self.session.save()
        # 跳转回最初登录前的页面
        back_to_url = self.session.get('login_back_to_url', '/')
        return self.redirect(back_to_url)