新建应用
https://open.weibo.com/apps
接url => 回调获取code => 利用code换取uid和access_token => 使用access_token获取用户信息
#新浪微博登录地址组合返回(第一步)
class weibo(APIView):
def get(self, *args, **kwargs):
#微博接口地址
weibo_auth_url = "https://api.weibo.com/oauth2/authorize"
#回调网址
redirect_url = "http://127.0.0.1:8000/api/weibo"
#应用id
client_id = "137408567"
#组合url
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)
return HttpResponse('77')
新浪微博回调地址(第二步)
class SinaBackHandler(APIView):
def get(self,*args,**kwargs):
#微博认证地址
access_token_url = "https://api.weibo.com/oauth2/access_token"
#参数 向新浪接口发送请求
re_dict = requests.post(access_token_url,data={
"client_id": '137408567',
"client_secret": "ed1c848355395f01db94bc9fa11cd39a",
"grant_type": "authorization_code",
"code": '97992035a12c2ab4fddfbdfdc46e3a5c',
"redirect_uri": "http://127.0.0.1:8000/api/weibo",
})
a_token=re_dict.json()['access_token']
uid=re_dict.json()['uid']
result = requests.get('https://api.weibo.com/2/users/show.json',
params={'access_token': a_token, 'uid':uid})
result = json.loads(result.text)
print(result['name'])
return HttpResponse('99')
标签:weibo,登录,url,个人信息,token,access,微博,client,id
From: https://www.cnblogs.com/luckyletop/p/17861934.html