理解第三方登录的流程:

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

我们的商城凑一个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. Collection中的方法

    以ArrayList为例 package com.mydemo; import java.util.ArrayList; public class CollectionDemo { public st ...

  2. OpenStack 安装:nova服务

    上一篇介绍了glance,并且成功创建了一个镜像,这一篇介绍Nova. 首先创建Nova用户,需要记得先source环境变量,然后创建Nova用户,并设置密码为nova [root@linux-nod ...

  3. Java学习笔记(十八):static关键字

  4. 新建jsp项目

    选择 下面类型

  5. list 删除元素

    ### List 删除元素 我们以一个字符串为元素类型的 list 为例,进行列表元素的删除: >>> l = ['a', 'b'] 法一:remove(val)  元素值 > ...

  6. 第一章 C++语言入门

            标准数据类型         C++语言提供了丰富的数据类型,如整数类型.实数类型(浮点数).字符类型等.每种数据类型均有均值范围,Dev-C++(4.9.9.2)是Windows平台 ...

  7. 249. Group Shifted Strings把迁移后相同的字符串集合起来

    [抄题]: Given a string, we can "shift" each of its letter to its successive letter, for exam ...

  8. [leetcode]254. Factor Combinations因式组合

    Numbers can be regarded as product of its factors. For example, 8 = 2 x 2 x 2; = 2 x 4. Write a func ...

  9. 激活prompt

    1.下载SQLPrompt 2. 断网, 打开注册机,拷贝验证码 2. 点击activate, 拷贝代码

  10. pushf和popf

    pushf的功能是将标志寄存器的值压栈,而popf是从栈中弹出数据,送入标志寄存器中.