首页 > 其他分享 >微博授权登录获取个人信息

微博授权登录获取个人信息

时间:2023-11-28 15:00:01浏览次数:29  
标签:weibo 登录 url 个人信息 token access 微博 client id

新建应用

https://open.weibo.com/apps

接url => 回调获取code => 利用code换取uid和access_token => 使用access_token获取用户信息

#新浪微博登录地址组合返回(第一步)
class weibo(APIView):

    def get(self, *args, **kwargs):

        #微博接口地址
        weibo_auth_url = "https://api.weibo.com/oauth2/authorize"
        #回调网址
        redirect_url = "http://127.0.0.1:8000/api/weibo"
        #应用id
        client_id = "137408567"
        #组合url
        auth_url = weibo_auth_url + "?client_id={client_id}&redirect_uri={re_url}".format(client_id=client_id,
                                                                                        re_url=redirect_url)
        print(auth_url)
        return HttpResponse('77')

新浪微博回调地址(第二步)

class SinaBackHandler(APIView):

def get(self,*args,**kwargs):

    #微博认证地址
    access_token_url = "https://api.weibo.com/oauth2/access_token"
    #参数 向新浪接口发送请求
    re_dict = requests.post(access_token_url,data={
        "client_id": '137408567',
        "client_secret": "ed1c848355395f01db94bc9fa11cd39a",
        "grant_type": "authorization_code",
        "code": '97992035a12c2ab4fddfbdfdc46e3a5c',
        "redirect_uri": "http://127.0.0.1:8000/api/weibo",
    })

    a_token=re_dict.json()['access_token']
    uid=re_dict.json()['uid']
    result = requests.get('https://api.weibo.com/2/users/show.json',
                          params={'access_token': a_token, 'uid':uid})

    result = json.loads(result.text)
    print(result['name'])


    return HttpResponse('99')

标签:weibo,登录,url,个人信息,token,access,微博,client,id
From: https://www.cnblogs.com/luckyletop/p/17861934.html

相关文章

  • 线上微信小程序无法登录问题
    反馈客户反馈无法线上小程序无法登录复现因为本地有为微信开发者工具,所以本地很快复现,找到traceid,查询sls日志,发现有问题日志:###Errorupdatingdatabase.Cause:com.mysql.cj.jdbc.exceptions.CommunicationsException:Communications linkfailure日志指向数据库通讯有......
  • JavaSE练习,JDBC驱动,基于swing库的带登录功能计算器
    一、前言本次作业是基于上次的计算器功能所做的改进,通过JDBC连接MySQL增加了登录与注册功能,并对计算器所作的运算进行了记录。虽然基于上次的作业所作,但是设计编写的模块大部分与之无关(登录注册自然与计算器无关)。所以本次作业属于再开发而不是运营维护。二、概要设计......
  • Discuz3.5版本整合Java 登录
    1.下载Discuz下载:官网Discuz-api-for-java下载:蓝奏云2.配置1.登录ucenter后台,应用管理,新建一个应用。以上配置uCenter如果能访问到http://172.16.22.103:13000/api/uc.php,就会显示通信成功2.修改Java配置运行testLogin()方法,如果不出意外会得到一个js代码,例:<scripttype="text/......
  • Vue-加入购物车-判断token添加登录提示
    Vue-加入购物车-判断token添加登录提示目标:给未登录的用户,添加登录提示说明:加入购物车,是一个登录后的用户才能进行的操作,所以需要进行鉴权判断,判断用户token是否存在若存在:继续加入购物车操作不存在:提示用户未登录,引导到登录页,登录完回跳addCart(){//判断token......
  • Flask Session 登录认证模块
    Flask框架提供了强大的Session模块组件,为Web应用实现用户注册与登录系统提供了方便的机制。结合Flask-WTF表单组件,我们能够轻松地设计出用户友好且具备美观界面的注册和登录页面,使这一功能能够直接应用到我们的项目中。本文将深入探讨如何通过Flask和Flask-WTF构建一个......
  • egret 无法登录发布
    在C:\ProgramFiles(x86)\Egret\EgretLauncher\resources\app\out\app\electron-browser 找到subpage.js文件将里面的代码按下图注释并修改  ......
  • flask学习03-RESTful风格用户注册及登录接口开发
    一、注册接口classRegister(Resource):defpost(self):data=request.get_json()#request.json()获取到请求的参数,得到一个字典对象#print(f'请求入参:{data}')username=data.get("username")password=data.get("password")......
  • 用户登录注册升级版
    【一】需求介绍用户可以注册,并将注册信息临时保存起来,登陆时可根据指定用户名或密码进行登陆设定好用户名和密码,用户通过输入指定的用户名和密码进行登陆最大尝试次数:用户最多尝试猜测3次最大尝试次数后:如3次后,问用户是否继续登陆如果回答Y或y,就再给3次机会,提示【还......
  • 用户登录注册简洁版
    【一】需求介绍设定好用户名和密码,用户通过输入指定的用户名和密码进行登陆最大尝试次数:用户最多尝试猜测3次最大尝试次数后:如3次后,问用户是否继续登陆如果回答Y或y,就再给3次机会,提示【还剩最后三次机会】3次都猜错的话登录结束如果回答N或n,登陆结束!如果格式输入错误,提示......
  • ChatGPTGPT本地一键登录,无需魔法即开即用:PandoraNext重磅归来,支持chatgpt所有最新功
    PandoraNext简单介绍PandoraCloud+PandoraServer+SharedChat+BackendAPIProxy= PandoraNext支持GPTs,最新UI。支持多种登录方式:(相当于PandoraCloud)账号/密码AccessTokenSessionTokenRefreshTokenShareToken可内置tokens(可使用上述所有Token),支持设置密码。(相当于Pan......