1,騰訊開放平台注冊,以及SDK的配置(這個可以官方去找)
2,登錄授權,並獲取用戶資料信息
(1)點擊“登錄並獲取用戶資料”按鈕 (2)程序會自動跳轉到QQ,顯示登錄頁面(頁面上會顯示需要的授權) (3)登錄成功後又會自動返回原來的APP。本樣例中我們在登錄成功後,獲取用戶信息並打印出來 附:返回參數說明
import UIKit
class ViewController: UIViewController, TencentSessionDelegate{
var _tencentOAuth:TencentOAuth!
override func viewDidLoad() {
super.viewDidLoad()
_tencentOAuth = TencentOAuth.init(appId: "1105212016", andDelegate: self)
}
//登錄按鈕點擊
@IBAction func login(sender: AnyObject) {
//設置權限列表
let permissions = ["get_user_info","get_simple_userinfo"];
//登陸
_tencentOAuth.authorize(permissions)
}
//登陸完成調用
func tencentDidLogin() {
if !_tencentOAuth.accessToken.isEmpty {
print("----------------------------------------")
print("登錄成功!")
print("openId:\(_tencentOAuth.openId)",
"accessToken:\(_tencentOAuth.accessToken)",
"expirationDate:\(_tencentOAuth.expirationDate)")
print("開始獲取用戶資料")
_tencentOAuth.getUserInfo()
}else {
print("登錄失敗!沒有獲取到accessToken")
}
}
/**
* 登錄失敗後的回調
*/
func tencentDidNotLogin(cancelled:Bool) {
if cancelled {
print("用戶取消登錄!")
}else{
print("登錄失敗!")
}
}
/**
* 登錄時網絡有問題的回調
*/
func tencentDidNotNetWork() {
print("沒有網絡,無法登錄!")
}
/**
* 取得用戶信息的回調
*/
func getUserInfoResponse(response:APIResponse) {
print("----------------------------------------")
print("用戶資料獲取成功:")
print(response.jsonResponse)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
3,退出登錄
要退出登錄、取消授權。只需要調用 TencentOAuth 對象的 logout() 方法即可。
_tencentOAuth.logout(self)