博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python --第三方登录--微博
阅读量:4965 次
发布时间:2019-06-12

本文共 1687 字,大约阅读时间需要 5 分钟。

 

理解第三方登录的流程:

用户向本地应用商城发起请求,我要用微博进行登录

我们的商城凑一个url让用户跳转到第三方应用的url(微博的登录页面)

用户在该界面点击输入用户名密码之后,点击授权。

微博有个回调url指向我们的应用。

我们的应用就可以获取到用户的基本信息等。

 

微博接口文档 :

 

 

使用逻辑:

1、首先要去微博开发者页面,完成验证,才可以新建应用

2、建好应用之后就可以拿到应用的App Key, App Secret,需要设置好回调地址

3、要是系统还没开发完成,可以使用测试模式,需要自己手动添加可以登录的微博账号

 

 

 

 

    """

    client_id   必填  string  申请应用时分配的AppKey。

    redirect_uri    必填  string  授权回调地址,站外应用需与设置的回调地址一致。

    """

#获取微博登录页面url

def get_auth_url():

    weibo_auth_url = "https://api.weibo.com/oauth2/authorize"

    redirect_url = "http://127.0.0.1:8001/complete/weibo/"

    client_id = "AppKey"

    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)

 

#获取登录的token,这里是拿到登录的code

#code会拼接在回调地址后面返回http://127.0.0.1:8001/complete/weibo/?code=c53bd7b5af51ec985952a3c03de3b

def get_access_token(code):

    access_token_url = "https://api.weibo.com/oauth2/access_token"

    import requests

    re_dict = requests.post(access_token_url,data={

        "client_id": AppKey,

        "client_secret": "App Secret",

        "grant_type": "authorization_code",

        "code": code,

        "redirect_uri": "http://127.0.0.1:8001/complete/weibo/",

    })

   # '{"access_token":"2.00oneFMeMfeS0889036fBNW_B","remind_in":"15799","expires_in":15799,"uid":"5675652","isRealName":"true"}'

    pass

#获取带有微博用户json信息的url

def get_user_info(access_token):

    user_url = "https://api.weibo.com/2/users/show.json"

    uid = "5675652"

    get_url = user_url + "?access_token={at}&uid={uid}".format(at=access_token, uid=uid)

    print(get_url)

 

if __name__ == '__main__':

    # get_auth_url()

    #通过code获取access_token

    # get_access_token("c53bd7b5af51ec985952a3c03de3b")

    #通过access_token获取用户的信息

    get_user_info("2.00oneFMeMfeS0889036fBNW_B")

 

转载于:https://www.cnblogs.com/weifeng-888/p/10706420.html

你可能感兴趣的文章
Forbidden You don't have permission to access / on this server.
查看>>
Windows server 2008 R2中安装MySQL !
查看>>
Intellij Idea新建web项目(转)
查看>>
raspberry 安装apache2,使其支持ssl ,并创建自签名证书
查看>>
Trie树:应用于统计和排序
查看>>
C语言结构体和函数
查看>>
[BZOJ3449] [Usaco2014 Feb]Secret Code
查看>>
XHTML与HTML区别
查看>>
软考-程序设计语言基础(编译原理)
查看>>
2016峰会:项目管理与高级项目管理(广州站)
查看>>
用JAVA编写浏览器内核之实现javascript的document对象与内置方法
查看>>
linux 命令之top
查看>>
有关远程设置的问题
查看>>
BZOJ 1800: [Ahoi2009]fly 飞行棋
查看>>
2019,2月份第三个星期,js小突破了一波,笔记
查看>>
洛谷 [P3033] 牛的障碍
查看>>
jquery 对HTML标签的克隆、删除
查看>>
用C写的俄罗斯方块游戏 By: hoodlum1980 编程论坛
查看>>
05最小生成树_Prim
查看>>
centos iptables
查看>>