views.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:daisychain 作者: daisychainme 项目源码 文件源码
def get(self, request):
        if not request.user.is_authenticated():
            return HttpResponseRedirect(login_url)

        default_url = '/'
        redirect_url = request.session.get('twitter_next_url')
        if not redirect_url:
            redirect_url = default_url

        verifier = request.GET.get('oauth_verifier')
        if not verifier:
            failure_url = '{}?status=error'.format(redirect_url)
            return HttpResponseRedirect(failure_url)

        # oauth token and secret are stored in the session
        oauth_token = request.session['twitter_request_token']['oauth_token']
        oauth_secret = request.session['twitter_request_token']['oauth_token_secret']
        # get the authorized tokens using the verifier
        twitter = Twython(CONSUMER_KEY, CONSUMER_SECRET,
                          oauth_token, oauth_secret)

        authorized_tokens = twitter.get_authorized_tokens(verifier)

        # create a TwitterAccount object to store token and secret
        try:
            # check if account already exists
            TwitterAccount.objects.get(user=request.user)
            success_url = '{}?status=success'.format(redirect_url)
            return HttpResponseRedirect(success_url)
        except:
            twitter_account = TwitterAccount()
            twitter_account.user = request.user
            twitter_account.access_token = authorized_tokens['oauth_token']
            twitter_account.access_secret = authorized_tokens['oauth_token_secret']
            twitter_account.save()

        success_url = '{}?status=success'.format(redirect_url)
        return HttpResponseRedirect(success_url)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号