首先qq互聯(lián)申請(qǐng)APP ID和APP KEY
APP ID:1...0
APP KEY:J...X
回調(diào)地址 http://***.ngrok.cc/qqCallback
1、獲取Code
Step1:獲取Authorization Code
- 請(qǐng)求地址:https://graph.qq.com/oauth2.0/authorize
- 請(qǐng)求方法:GET
- 請(qǐng)求參數(shù):response_type client_id redirect_uri state
- 返回結(jié)果:http://graph.qq.com/demo/index.jsp?code=9A5F************************06AF&state=test
Step2:通過Authorization Code獲取Access Token
- 請(qǐng)求地址:https://graph.qq.com/oauth2.0/token
- 請(qǐng)求方法:GET
- 請(qǐng)求參數(shù):grant_type client_id client_secret code redirect_uri
- 返回結(jié)果:access_token=AA19E533D786755CC7A2DB8881FCBC61&expires_in=7776000&refresh_token=3A4417E66CA8E7087D791CBFE2439571
2、通過Access Token獲取OpenID
- 請(qǐng)求地址: https://graph.qq.com/oauth2.0/me
- 請(qǐng)求方法:GET
- 請(qǐng)求參數(shù):access_token
- 返回結(jié)果:callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} );
3、調(diào)用OpenAPI獲取用戶信息
前提說明:
該appid已經(jīng)開通了該OpenAPI的使用權(quán)限。從API列表的接口列表中可以看到,有的接口是完全開放的,有的接口則需要提前提交申請(qǐng),以獲取訪問權(quán)限。
準(zhǔn)備訪問的資源是用戶授權(quán)可訪問的。網(wǎng)站調(diào)用該OpenAPI讀寫某個(gè)openid(用戶)的信息時(shí),必須是該用戶已經(jīng)對(duì)你的appid進(jìn)行了該OpenAPI的授權(quán)(例如用戶已經(jīng)設(shè)置了相冊(cè)不對(duì)外公開,則網(wǎng)站是無法讀取照片信息的)。用戶可以進(jìn)入QQ空間->設(shè)置->授權(quán)管理進(jìn)行訪問權(quán)限的設(shè)置。
已經(jīng)成功獲取到Access Token,并且Access Token在有效期內(nèi)。
請(qǐng)求地址: https://graph.qq.com/user/get_user_info
請(qǐng)求方法:GET
請(qǐng)求參數(shù):access_token oauth_consumer_key openid
返回結(jié)果:
{
"ret":0,
"msg":"",
"nickname":"YOUR_NICK_NAME",
...
}
最終獲得用戶信息根據(jù)申請(qǐng)的API權(quán)限不同而不同,如果只是簡(jiǎn)單的get_user_info權(quán)限,則能獲得的用戶信息包括:
avatar gender level nickname(比微信摳...)