微博三方登録Django
2109 ワード
def get_weibo_():
app_key = '2223437162'
app_sercty = 'a08ba58988e2fd427edf74d397462826'
redirect_uri = 'http://127.0.0.1:8080/weibo_callback'
# https://api.weibo.com/oauth2/authorize
# client_id = app_key redirect_uri = redirect_uri ( )
https://api.weibo.com/oauth2/authorize?client_id=2223437162&redirect_uri=http://127.0.0.1:8080/weibo_callback
# code
# code access_token
# https://api.weibo.com/oauth2/access_token
def get_weibo_accesstoken(code):
url = 'https://api.weibo.com/oauth2/access_token'
#
data = {
'client_id': '2223437162', # app_key
'client_secret': 'a08ba58988e2fd427edf74d397462826', # app_sercty
'grant_type': 'authorization_code', #
'redirect_uri': 'http://127.0.0.1:8080/weibo_callback', #
'code': code # code
}
#
req = requests.post(url=url, data=data).text
# json , json python dict( ) ,, access_token
return json.loads(req)['access_token']
パラメータ綴りの微博要求のリンクによって、vueにリンクを入れ、ユーザーが微博登録をクリックして微博登録にジャンプし、ログインが成功したらvueに戻り、vueはコールからcodeの値を取得し、codeの値をdjangoに渡し、djangoは取得したcodeの値に基づいて微博の開始要求にaccess_を取得する。token、access_を取得しました。token値の後、微博に対して要求を開始し、access_による。tokenはユーザー対応のuidを取得し、uidはユーザの一意の表現である。
# access_token uid
# https://api.weibo.com/oauth2/get_token_info
def get_weibo_userinfo(access_token):
url = 'https://api.weibo.com/oauth2/get_token_info'
# access_token
data = {'access_token': access_token}
# access_token , json
req = requests.post(url=url, data=data).text
# uid
return json.loads(req)['uid']