理解第三方登录的流程:

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

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

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

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

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

微博接口文档 : https://open.weibo.com/wiki/%E9%A6%96%E9%A1%B5

使用逻辑:

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")

python --第三方登录--微博的更多相关文章

  1. Python 第三方登录 实现QQ 微信 微博 登录

    本人写的AgentLogin,能快速返回QQ.微信.微博第三方用户名信息,主要用于快速登录 用 pip命令安装 pip install AgentLogin 用法 : 导入这个包 from Agent ...

  2. PHP第三方登录 -- 微博登录

    进化史 博客园 首页 新随笔 联系 管理 订阅 随笔- 9  文章- 0  评论- 0  php 实现qq第三方登录 学习之前,请大家先看一下oAuth协议. 首先呢,我们进入QQ互联的官方网站 ht ...

  3. iOS开发之第三方登录微博-- 史上最全最新第三方登录微博方式实现

    相关资源地址: 本项目demo地址 :  https://github.com/zhonggaorong/weiboSDKDemo 最新SDK下载:  最新微博SDK 官网注册地址:点击打开链接 最新 ...

  4. yii2微博第三方登录

    原作者:杜文建 原博客:http://www.cnblogs.com/dwj97/p/6530568.html yii2微博第三方登录   微博登录是最常用的第三方账号登录之一.由于其网站用户量大,可 ...

  5. Python - social-auth-app-django 模块 - 商城项目 第三方方式登录 - 微博

    开发准备 开通微博开发者权限 点击这里 进入 微博开放平台 开通后权限后创建应用 创建网页应用, 此处不需要进行审核即可使用测试环境 开发环境信息 此处一些信息是很重要的东西, 比如 App_key ...

  6. 第四百零四节,python网站第三方登录,social-auth-app-django模块,

    第四百零四节,python网站第三方登录,social-auth-app-django模块, social-auth-app-django模块是专门用于Django的第三方登录OAuth2协议模块 目 ...

  7. Django rest framework集成微博第三方登录

    Django restframework 集成第三方登录(微博.微信.QQ等) 友情链接 python-social-auth-app官方文档 微博开放者平台 QQ开放者平台 准备工作 1.注册微博开 ...

  8. OAuth2.0 social_django微博第三方登录

    python网站第三方登录,social-auth-app-django模块, social-auth-app-django模块是专门用于Django的第三方登录OAuth2协议模块 目前流行的第三方 ...

  9. 如何从零开始对接第三方登录(Java版):QQ登录和微博登录

    前言 个人网站最近增加了评论功能,为了方便用户不用注册就可以评论,对接了QQ和微博这2大常用软件的一键登录,总的来说其实都挺简单的,可能会有一点小坑,但不算多,完整记录下来方便后来人快速对接. 后台设 ...

随机推荐

  1. Python 学习图谱

    https://mp.weixin.qq.com/s/-fJYAlOs4ui0YeJ-W6BkeQ

  2. 了解各种不同意义上的new

    问题1:请说明new operator 和 operator  new的差异? 1.new   operator : 一般我们写代码的时候,例如:String *p = new String(&quo ...

  3. ASP.NET Boilerplate-AbpSession

    /------2016-05-15/------介绍 如果一个应用支持登录,也许需要知道当前登录用户的一些操作,然而ASP.NET 本身对于展现层提供了Session的支持,ABP提供了 IAbpSe ...

  4. 天天向上的力量 III

    描述 一年365天,以第1天的能力值为基数,记为1.0. 当好好学习时,能力值相比前一天提高N‰:当没有学习时,能力值相比前一天下降N‰. 每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范 ...

  5. jquery全国省市区三级联动插件distpicker

    使用步骤: 1.引入js <script src="distpicker/jquery.min.js" type="text/javascript" ch ...

  6. AAC-ADTS

    转自/*************************************************************** 作者:谭东 https://blog.csdn.net/jay10 ...

  7. 298. Binary Tree Longest Consecutive Sequence最长连续序列

    [抄题]: Given a binary tree, find the length of the longest consecutive sequence path. The path refers ...

  8. 22. Generate Parentheses产生所有匹配括号的方案

    [抄题]: Given n pairs of parentheses, write a function to generate all combinations of well-formed par ...

  9. .net C# 利用Session防重复点击防重复提交

    <body>    <form id="form1" runat="server">    <div>        < ...

  10. redis使用规范文档 20170522版

    运维redis很久了,一直是口头给rd说各种要求,尝试把这些规范总结成文档 摘选一些可能比较通用的规则如下: 强制:所有的key设置过期时间(最长可设置过期时间10天,如有特殊要求,联系dba说明原因 ...