gpt4 book ai didi

ios - 使用 Swift 在 IOS 中进行社交登录

转载 作者:行者123 更新时间:2023-11-28 06:12:06 24 4
gpt4 key购买 nike

好吧,这是一般性问题,如果有人使用 Google-Auth/Email-Password 登录我的帐户,我也可以获取它的 Facebook 个人资料信息,我想要什么?这些步骤是否正确:

  1. 使用 google 登录并在 Firebase 中插入条目。
  2. 在个人资料编辑中有一个名为“获取您的 Facebook 数据”的按钮。
  3. 在 FBSDKLoginManager 的帮助下单击按钮,我连接到用户 fb 的配置文件并发出 FBSDKGraphRequest。
  4. 得到结果后保存到数据库。

如果可能的话,建议任何其他方式?!

最佳答案

这是 Xcode 8.3Swift 3.1 的工作代码:

按照以下步骤获取 Facebook 数据:-

第一步:

import FBSDKCoreKit

import FBSDKLoginKit

第 2 步:符合委托(delegate)。

FBSDKLoginButtonDelegate

第 3 步:登录按钮 IBAction 方法。

//Facebook 登录操作

  @IBAction func facebookLoginAction(_ sender: Any) {

//Fb login process
let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager.loginBehavior = .native

fbLoginManager.logOut()
fbLoginManager.logIn(withReadPermissions: ["email"], from: self) { (result, error) -> Void in
if (error == nil){
let fbloginresult : FBSDKLoginManagerLoginResult = result!
if fbloginresult.isCancelled {

}
else if (fbloginresult.declinedPermissions != nil){
if(fbloginresult.grantedPermissions.contains("email")) {
self.getFBUserData()
}
}

}
}

}

第 4 步:按照以下方式获取 Facebook 数据。

  func getFBUserData(){
if((FBSDKAccessToken.current()) != nil){
FBSDKGraphRequest(graphPath: "me", parameters: ["fields":"first_name, last_name,email, picture.type(large),gender"]).start(completionHandler: { (connection, result, error) -> Void in
if (error == nil){
let newResult = result as AnyObject
let email = newResult["email"] as? String ?? ""
print("Your Email = \(email)")
let firstName = newResult["first_name"] as? String ?? ""
let lastName = newResult["last_name"] as? String ?? ""
print(FBSDKAccessToken.current())
let gender = newResult["gender"] as? String ?? ""
let id = newResult["id"] as? String ?? ""
print("the access token is \(FBSDKAccessToken.current().tokenString)")

let accessToken = FBSDKAccessToken.current().tokenString
//self.signInUser()

}
})
}
}

请随时对此发表评论,希望它能解决您的问题。谢谢

关于ios - 使用 Swift 在 IOS 中进行社交登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46245703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com