swift - how to get session token for google+ login with parse in ios swift2 -


i working on 1 application in using google plus login
works fine want integrate parse also
have refer example

func finishedwithauth(auth: gtmoauth2authentication!, error: nserror!) {     let token = auth.accesstoken                 pfuser.becomeinbackground(token, block: { (user : pfuser?, error : nserror?) -> void in        if error != nil {            print("error in become user : \(error)")        } else {            print("user : \(user)")        }     }) } 

but give me error

error in become user : optional(error domain=parse code=209 "invalid session token" userinfo={code=209, temporary=0, error=invalid session token, nslocalizeddescription=invalid session token}) 

i have try example login google plus in ios on parse.com
in objective c ,try convert swift2 give error

please give me correct solution

finally solved issues
convert answer swift code , work fine

func finishedwithauth(auth: gtmoauth2authentication!, error: nserror!) {      if error == nil && auth.expirationdate.compare(nsdate(timeintervalsincenow: 0)) == nscomparisonresult.ordereddescending {           let user = gppsignin.sharedinstance().googleplususer          let username = user.name.jsonvalueforkey("givenname") as! string          let useremail = gppsignin.sharedinstance().useremail           let pfuser = pfuser()          pfuser.username = username          pfuser.email = useremail           let userpassword = "\(username)@123"          pfuser.password = userpassword           pfuser.signupinbackgroundwithblock({ (success, error : nserror?) -> void in            if error == nil {               let plusservice = gtlserviceplus()              plusservice.retryenabled = true              plusservice.authorizer = gppsignin.sharedinstance().authentication               let query : gtlqueryplus! = gtlqueryplus.queryforpeoplegetwithuserid("me") as! gtlqueryplus               plusservice.executequery(query, completionhandler: { (ticket, person, error) -> void in                  if error != nil {                     print("error in execute query : \(error!)")                  } else {                     let aperson : gtlplusperson! = person as! gtlplusperson                     let imgurl = aperson.image.url                      if let imgdata = nsdata(contentsofurl: nsurl(string: imgurl)!) {                         self.userprofilepic.image = uiimage(data: imgdata)                     }                      let currentuser = pfuser.currentuser()                     currentuser?.username = aperson.displayname                     currentuser?.saveinbackground()                  }               })            } else {                print("error in signup : \(error!.localizeddescription)")                pfuser.loginwithusernameinbackground(self.username, password: userpassword, block: { (user : pfuser?, error : nserror?) -> void in                 if error == nil {                             print("login sccessfully")                 } else {                             print("error in login : \(error!.localizeddescription)")                        }               })           }        })         } else {             print("error in authentication : \(error.localizeddescription)")         }     } 

hope someone!!!


Comments