iam using last fbsdk (using swift)
//mark: sign in facebook func signinwithfacebook() { if (fbsdkaccesstoken.currentaccesstoken() != nil) { // user logged in, work such go next view controller. println("already logged in ") self.returnuserdata() return } var facebookloginmanger = fbsdkloginmanager() facebookloginmanger.loginwithreadpermissions(["public_profile", "email", "user_friends"], handler: { (result, error)-> void in //result fbsdkloginmanagerloginresult if (error != nil) { println("error \(error)") } if (result.iscancelled) { //handle cancelations } if result.grantedpermissions.contains("email") { self.returnuserdata() } }) } func returnuserdata() { let graphrequest : fbsdkgraphrequest = fbsdkgraphrequest(graphpath: "me", parameters: nil) graphrequest.startwithcompletionhandler({ (connection, result, error) -> void in if ((error) != nil) { // process error println("error: \(error)") } else { println("the access token \(fbsdkaccesstoken.currentaccesstoken().tokenstring)") var accesstoken = fbsdkaccesstoken.currentaccesstoken().tokenstring var userid = result.valueforkey("id") as! nsstring var facebookprofileurl = "http://graph.facebook.com/\(userid)/picture?type=large" println("fetched user: \(result)") } when print fetched user id , name ! , requested permission email , friends , profile , what's wrong ???
btw : moved project macbook macbook ( because formatted mine) worked when @ the macbook created project on , after moving project (using bitbucket clone) got results .
as per new facebook sdk, must have pass parameters fbsdkgraphrequest
if((fbsdkaccesstoken.currentaccesstoken()) != nil){ fbsdkgraphrequest(graphpath: "me", parameters: ["fields": "id, name, first_name, last_name, email"]).startwithcompletionhandler({ (connection, result, error) -> void in if (error == nil){ println(result) } }) } documentations link : https://developers.facebook.com/docs/facebook-login/permissions/v2.4
user object reference : https://developers.facebook.com/docs/graph-api/reference/user
with public profile can gender :
public_profile (default) provides access subset of items part of person's public profile. person's public profile refers following properties on user object default: id name first_name last_name age_range link gender locale timezone updated_time verified
Comments
Post a Comment