0
Firebase Authで認証されたユーザがいます。私は彼らの表示名を得ることができますが、彼らのファーストネームだけを取得する方法が不思議でした。 FBグラフAPIを呼び出すために何らかのトークンを使用する必要がありますか?Firebaseユーザのファーストネームを取得する方法
敬具 Vishaal
Firebase Authで認証されたユーザがいます。私は彼らの表示名を得ることができますが、彼らのファーストネームだけを取得する方法が不思議でした。 FBグラフAPIを呼び出すために何らかのトークンを使用する必要がありますか?Firebaseユーザのファーストネームを取得する方法
敬具 Vishaal
はい、あなたは基本的には、ユーザーのFacebookの詳細を取得することを可能にするトークンを取得する必要があります。
有効なトークンを取得したら、FB Graph APIを使用して基本情報を抽出できます。
ここにサンプルコードを示します。
let credential = FIRFacebookAuthProvider.credential(withAccessToken: accessToken.tokenString)
FIRAuth.auth()?.signIn(with: credential, completion: { (user, error) in
if let error = error
{
print("Login error: \(error.localizedDescription)")
let alertController = UIAlertController(title: "Login Error", message: error.localizedDescription, preferredStyle: .alert)
let okayAction = UIAlertAction(title: "OK", style: .cancel, handler: nil)
alertController.addAction(okayAction)
self.present(alertController, animated: true, completion: nil)
return
}
if((FBSDKAccessToken.current()) != nil) {
var request = FBSDKGraphRequest(graphPath: "me", parameters:["fields":"first_name,last_name,email"], httpMethod: "GET")
request?.start(completionHandler: {(connection,result,error) -> Void in
if (error == nil)
{
var dictionary_user_info = result as? NSDictionary
let v_firstname = dictionary_user_info?.object(forKey: "first_name") as! String
let v_lastname = dictionary_user_info?.object(forKey: "last_name") as! String
let v_email = dictionary_user_info?.object(forKey: "email") as! String
}
}
}