2015-05-05 8 views
6

मैं उपयोगकर्ता के ईमेल और सार्वजनिक प्रोफ़ाइल प्राप्त करने के लिए फेसबुक कस्टम लॉगिन का उपयोग कर रहा हूं लेकिन मुझे केवल यह मिलता है। क्या कोई और कोड है जिसे मैंने याद किया है? अधिकांश ऑनलाइन ट्यूटोरियल ओब्जे-सी में हैं या पहले से ही पुराने हैं। मैं इस परियोजना के लिए स्विफ्ट का उपयोग कर रहा हूँ।FBSDKLoginManagerLoginResult का ईमेल प्राप्त करें और नाम

RESULT: '<FBSDKLoginManagerLoginResult: 0x7fe6f8c1d510>' 

यहां उपयोगकर्ता की जानकारी प्राप्त करने के लिए कस्टम बटन

let login = FBSDKLoginManager() 
    login.logInWithReadPermissions(["email", "public_profile"]){ result, error in 
     println("RESULT: '\(result)' ") 

     if error != nil { 
      println("error") 
     }else if(result.isCancelled){ 
      println("result cancelled") 
     }else{ 
      println("success") 

     } 
    } 
+0

मैं केवल मिल " '[ईमेल, public_profile]'" मूल्य –

उत्तर

15

उपयोग FBSDKGraphRequest के लिए मेरे कोड है।

let login = FBSDKLoginManager() 
    login.logInWithReadPermissions(["email", "public_profile"]){ result, error in 
     println("RESULT: '\(result)' ") 

     if error != nil { 
      println("error") 
     }else if(result.isCancelled){ 
      println("result cancelled") 
     }else{ 
      println("success Get user information.") 

      var fbRequest = FBSDKGraphRequest(graphPath:"me", parameters: nil); 
     fbRequest.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in 

      if error == nil { 

       println("User Info : \(result)") 
      } else { 

       println("Error Getting Info \(error)"); 

      } 
     } 
     } 
    } 
+1

के बजाय यह नहीं है FBSDKLoginManagerLoginResult का उपयोग करें ... – LKM

+0

इसके बदले नाम और आईडी केवल। मुझे ईमेल जैसे अधिक प्रोफ़ाइल विवरण चाहिए। क्या मैं कुछ और याद कर रहा हूँ? – Dashrath

+0

@ दशरथ ने ईमेल अनुमति के लिए कहा है? यदि हां तो आपको ईमेल भी मिलना चाहिए। –

1

स्विफ्ट 2.1 के लिए:

let login = FBSDKLoginManager() 
    login.logInWithReadPermissions(["email", "public_profile"]){ result, error in 

     if error != nil { 
      print("error") 
     }else if(result.isCancelled){ 
      print("result cancelled") 
     }else{ 
      let fbRequest = FBSDKGraphRequest(graphPath:"me", parameters: nil); 
      fbRequest.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in 

       if error == nil { 
        print("User Info : \(result)") 
       } else { 
        print("Error Getting Info \(error)"); 
       } 
      } 
     } 
    } 
3

स्विफ्ट 3+

FBSDKGraphRequest(graphPath:"me", parameters: ["fields":"email"]).start(completionHandler: { (connection, result, error) in 
    if error == nil { 
     print("User Info : \(result)") 
    } else { 
     print("Error Getting Info \(error)");       
    } 
}) 
+2

में धन्यवाद ! यह अच्छा काम कर रहा है। – Raja

+0

सरल और प्रभावी, धन्यवाद! – AndyDunn

संबंधित मुद्दे