django-restful:第三方登录接口 学习记录(一)
2018-01-17 本文已影响5人
你常不走的路
首先来说说 自己写的接口
通过这个接口 可以了解一些原理
注意哦 回调url 需要在 微博 开放平台 自己去设置 和下面 的redirect_url 一样 域名可以写你线上 或者线下的都行 我这写的是线下http://127.0.0.1:8000:/complete/weibo 域名是自己 后面是固定写法
第一步 获取授权接口 url auth_url 这个 url拿去浏览器访问 然后 授权后 他会回调 在回调的url中 有一个code 用户下面获取token
第二步 拿着上面的code 获取用户token 来获取用户信息
第三步 测试token是否可用 利用weibo api 中提供的 接口 来获取用户的个人信息
#coding:utf-8
__author__ = "dfk"
__date__ = "2018/1/17 11:08"
def get_auth_url(): #获取授权接口
weibo_auth_url = 'https://api.weibo.com/oauth2/authorize' #微博接口 api
redirect_url = 'http://127.0.0.1:8000:/complete/weibo'# 回调api 域名是自己 后面是固定写法
auth_url = weibo_auth_url+"?client_id={client_id}&redirect_uri={re_url}".format(client_id="你的api keys",re_url=redirect_url)
print(auth_url)
def get_access_token(code=""): #获取用户的token
access_token_url = 'https://api.weibo.com/oauth2/access_token'
import requests
re_dict = requests.post(access_token_url,data={
'client_id':'你的app key',
'client_secret':'你的secret',
'grant_type':'authorization_code',
'code':code,
'redirect_url':'http://127.0.0.1:8000:/complete/weibo',
})
pass
#利用用户token 获取用户信息
#这里的access_token是在 get_access_token 函数中得到的 可以得到token 和一些用户信息 然后我们拿着这些到 微博提供的一些接口 来测试是否能获取用户信息
def get_user_info(access_token="",uid=''): #这两个参数都是 上面获取的 调试可得
user_url = 'https://api.weibo.com/2/users/show.json?access_token={token}&uid={uid}'.format(token=access_token,uid=uid)
print(user_url)
if __name__ =='__main__':
get_auth_url() #一个 一个调试
# get_access_token()
# get_user_info()