微博登录接口解析(python),为第三方登录做准备

本文介绍了如何使用Python实现微博登录接口,详细阐述了第三方登录的流程:用户请求商城用微博登录,商城构造跳转URL,用户授权后回调到应用,获取用户信息。步骤包括在微博开发者平台验证、获取App Key和App Secret、设置回调地址,以及测试模式的应用。通过这些,可以在系统中实现微博账号的注册与登录功能。
摘要由CSDN通过智能技术生成

理解第三方登录的流程:

  • 用户向本地应用商城发起请求,我要用微博进行登录
  • 我们的商城凑一个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 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现微博第三方登录,需要进行以下步骤: 1. 创建应用 在微博开发平台上创建一个应用,获取到应用的 App Key 和 App Secret。 2. 安装依赖 使用 Python 的第三方库 requests 和 Flask,需要先安装。 3. 构造授权 URL 使用 App Key 和回调地址,构造出微博授权的 URL。用户访问该 URL,即可跳转到微博登录页面。 4. 获取授权码 用户在微博登录页面输入用户名密码后,会跳转到回调地址,并附带授权码参数。在 Flask 中获取该参数。 5. 获取访问令牌 使用授权码和 App Secret,向微博 API 发送请求,获取访问令牌。 6. 使用访问令牌访问用户信息 使用访问令牌,向微博 API 发送请求,获取用户信息。 下面是一个示例代码: ```python from flask import Flask, request, redirect import requests import json app = Flask(__name__) # 应用的 App Key 和 App Secret app_key = 'your_app_key' app_secret = 'your_app_secret' # 回调地址 redirect_uri = 'http://localhost:5000/callback' # 构造授权 URL authorize_url = 'https://api.weibo.com/oauth2/authorize?client_id={}&redirect_uri={}&response_type=code'.format(app_key, redirect_uri) @app.route('/') def index(): # 跳转到授权页面 return redirect(authorize_url) @app.route('/callback') def callback(): # 获取授权码 code = request.args.get('code') # 获取访问令牌 access_token_url = 'https://api.weibo.com/oauth2/access_token' data = { 'client_id': app_key, 'client_secret': app_secret, 'grant_type': 'authorization_code', 'code': code, 'redirect_uri': redirect_uri } response = requests.post(access_token_url, data=data) access_token = json.loads(response.text)['access_token'] # 使用访问令牌获取用户信息 user_url = 'https://api.weibo.com/2/users/show.json' params = { 'access_token': access_token, 'uid': 'your_uid' } response = requests.get(user_url, params=params) user_info = json.loads(response.text) # 返回用户信息 return user_info['name'] if __name__ == '__main__': app.run() ``` 注意:需要将上面的 `your_app_key`、`your_app_secret`、`your_uid` 替换为真实的值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值