का उपयोग कर फेसबुक से ईमेल पुनर्प्राप्त नहीं कर सकता है नमस्ते मैं फेसबुक से अपना ईमेल पुनर्प्राप्त करने का प्रयास कर रहा हूं क्योंकि मैं स्विफ्ट का उपयोग कर फेसबुक आईओएस एसडीके खेल रहा हूं। आईओएस मंच 10, स्विफ्ट 3 और एक्सकोड 8 है। मैंने ऑनलाइन ट्यूटोरियल्स का पालन किया लेकिन ईमेल पुनर्प्राप्त करने में परेशानी हो रही है।स्विफ्ट 3 और आईओएस 10
if FBSDKAccessToken.current() == nil {
print("I got token")
let fbButton = FBSDKLoginButton()
fbButton.readPermissions = ["public_profile", "email", "user_friends"]
view.addSubview(fbButton)
fbButton.center = view.center
fbButton.delegate = self
self.fetchprofile()
}
else {
print("Dont have token")
let loginView : FBSDKLoginButton = FBSDKLoginButton()
self.view.addSubview(loginView)
loginView.center = self.view.center
loginView.readPermissions = ["public_profile", "email", "user_friends"]
loginView.delegate = self
}
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
if error != nil {
print(error.localizedDescription)
return
}
print("I'm in")
fetchprofile()
}
func fetchprofile() {
print("Getting profile")
let parameters = ["fields": "email"]
let graphRequest:FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: parameters, httpMethod: "GET")
graphRequest.start(completionHandler: {(connection, result, error) -> Void in
if error != nil {
print("Error retrieving details: \(error?.localizedDescription)")
return
}
guard let result = result as? [String:[AnyObject]], let email = result["email"] else {
return
}
print("Email: \(email)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
self.view.backgroundColor = UIColor.red
})
}
और मेरे appdelegate.swift फ़ाइल में:
//have both google and facebook signin. Google works but facebook doesn't
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return GIDSignIn.sharedInstance().handle(url,
sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String,
annotation: options[UIApplicationOpenURLOptionsKey.annotation]) ||
FBSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String, annotation: options[UIApplicationOpenURLOptionsKey.annotation])
}
मैं में प्रवेश करें और लॉग आउट करने में सक्षम है, लेकिन ईमेल पुनः प्राप्त करने में सक्षम नहीं हूँ
नीचे मेरी कोड है।
अद्यतन असल में जब मैं वास्तव में प्रिंट (ईमेल) पारित मैं इसे एक वैकल्पिक बयान के रूप में कंसोल पर देख सकते हैं। मैं वैकल्पिक बयान के बिना मुसीबत यह प्रदर्शित हो रही है
उपयोगकर्ता एप्लिकेशन को ईमेल अनुमति दी है उपयोगकर्ता एक सत्यापित ईमेल पता है क्या – WizKid
@WizKid वास्तव में मैं ईमेल आईडी लेकिन इसकी वैकल्पिक देख सकते हैं? मुझे लगता है कि मेरी समस्या इसे प्रिंट करने से आती है। गार्ड स्टेटमेंट – user3497437
में समस्या है मुझे एक ही समस्या है – Carlo