如何在swift中检索Google Sign iOS中的用户DOB和性别

时间:2015-10-29 06:29:27

标签: ios swift google-signin

我正在使用谷歌登录我的一个应用程序。我找不到一种方法来检索出生日期和性别。任何人都可以帮忙。这是我的代码使用swift -

 func signIn(signIn: GIDSignIn!, didSignInForUser user: GIDGoogleUser!,
        withError error: NSError!) {
            if (error == nil) {

                // Perform any operations on signed in user here.
                let userId = user.userID                 
                let idToken = user.authentication.idToken              
                let name = user.profile.name
                let email = user.profile.email

                print(userId)
                print(idToken)
                print(email)
                print(name)
      } else {
                print("\(error.localizedDescription)")

            }
    }

2 个答案:

答案 0 :(得分:0)

您只能访问用户设置为公开的内容。如果用户不希望公开这些信息,那么您就无法获得这些信息。

仅仅因为我对您的申请进行身份验证并不意味着我希望您例如查看我的地址或在这种情况下我的性别。所以我不会把它们公之于众,你看不到它们。

答案 1 :(得分:0)

self.databaseref = Database.database()。reference()             self.databaseref.child( “user_profiles”)             self.databaseref.child(“user_profiles”)。child(user!.uid).observeSingleEvent(of:。value,with:{(snapshot)in

            let snapshot = snapshot.value as? NSDictionary

            if(snapshot == nil)
            {
                self.databaseref.child("user_profiles").child(user!.uid).child("name").setValue(user?.displayName)
                self.databaseref.child("user_profiles").child(user!.uid).child("profilephoto").setValue(user?.photoURL)
                self.databaseref.child("user_profiles").child(user!.uid).child("phonenumber").setValue(user?.phoneNumber)
                self.databaseref.child("user_profiles").child(user!.uid).child("email").setValue(user?.email)
            }
            print("snapshot:",user?.displayName)
            print("snapshot:",user?.photoURL)
            print("snapshot:",user?.phoneNumber)
            print("snapshot:",user?.email)
        })
    }