如何在iOS Swift2中使用解析获取Google+登录的会话令牌

贡贾·帕特尔

我在一个应用程序的工作中使用谷歌加登录
它工作正常,但我想与解析集成还
例如

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)")
       }
    })
}

但这给了我类似的错误

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})

我也尝试过这个示例,在parse.com上的ios中使用google plus登录google,
但它在目标c中,尝试转换为swift2但也给出错误

请给我正确的解决方案

贡贾·帕特尔

最终解决的问题
答案转换为快速代码,并且工作正常

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)")
        }
    }

希望对某人有所帮助!!!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在iOS中获取Linkedin访问令牌以调用API?

来自分类Dev

如何在Rails的数据库中存储会话令牌?

来自分类Dev

如何在yii中创建登录会话

来自分类Dev

如何在Flask Jinja2模板引擎中使用endif。获取TemplateSyntaxError:预期令牌“语句块结尾”,获得“会话”

来自分类Dev

在tmate会话中,如何再次获得tmate会话令牌?

来自分类Dev

如何在moodle中重定向会话登录URL

来自分类Dev

如何在HTML5中维护登录会话

来自分类Dev

如何在ParsePy中使用parse.com会话令牌?

来自分类Dev

如何存储和访问Twitter Fabric登录会话(iOS / Swift)?

来自分类Dev

如何在angular js的cookie中存储登录会话ID?

来自分类Dev

如何在iOS中获取设备令牌?

来自分类Dev

如何在Python中抓取JS生成的登录令牌?

来自分类Dev

如何获取活动登录会话的列表?

来自分类Dev

如何使用访问密钥,秘密密钥和会话令牌登录到AWS控制台?

来自分类Dev

如何在Flutter中获取Google登录访问令牌

来自分类Dev

Spring OAuth2 Security中如何在SuccessHandler登录后立即获取访问令牌?

来自分类Dev

如何从Python中的登录响应中提取会话令牌?

来自分类Dev

如何在会话中访问令牌(Shopify访问令牌)

来自分类Dev

如何获取活动登录会话的列表?

来自分类Dev

如何在yii中创建登录会话

来自分类Dev

如何在具有登录功能的PHP中使用会话?

来自分类Dev

如何在登录系统中使用会话并在codeigniter中实现注销

来自分类Dev

Android Webview和javaScriptInterface之类的NativeScript功能可使用webview中的登录网页保存会话令牌

来自分类Dev

如何在php中设置用于登录和注销的会话?

来自分类Dev

codeIgniter如何在登录控制器中创建会话

来自分类Dev

PHP - 如何在登录会话中检查用户级别

来自分类Dev

如何从谷歌登录获取 php 会话数据

来自分类Dev

如何使用 R 中的会话令牌连接到 Amazon Athena?

来自分类Dev

如何在 RSA Archer 中获取当前会话令牌?

Related 相关文章

  1. 1

    如何在iOS中获取Linkedin访问令牌以调用API?

  2. 2

    如何在Rails的数据库中存储会话令牌?

  3. 3

    如何在yii中创建登录会话

  4. 4

    如何在Flask Jinja2模板引擎中使用endif。获取TemplateSyntaxError:预期令牌“语句块结尾”,获得“会话”

  5. 5

    在tmate会话中,如何再次获得tmate会话令牌?

  6. 6

    如何在moodle中重定向会话登录URL

  7. 7

    如何在HTML5中维护登录会话

  8. 8

    如何在ParsePy中使用parse.com会话令牌?

  9. 9

    如何存储和访问Twitter Fabric登录会话(iOS / Swift)?

  10. 10

    如何在angular js的cookie中存储登录会话ID?

  11. 11

    如何在iOS中获取设备令牌?

  12. 12

    如何在Python中抓取JS生成的登录令牌?

  13. 13

    如何获取活动登录会话的列表?

  14. 14

    如何使用访问密钥,秘密密钥和会话令牌登录到AWS控制台?

  15. 15

    如何在Flutter中获取Google登录访问令牌

  16. 16

    Spring OAuth2 Security中如何在SuccessHandler登录后立即获取访问令牌?

  17. 17

    如何从Python中的登录响应中提取会话令牌?

  18. 18

    如何在会话中访问令牌(Shopify访问令牌)

  19. 19

    如何获取活动登录会话的列表?

  20. 20

    如何在yii中创建登录会话

  21. 21

    如何在具有登录功能的PHP中使用会话?

  22. 22

    如何在登录系统中使用会话并在codeigniter中实现注销

  23. 23

    Android Webview和javaScriptInterface之类的NativeScript功能可使用webview中的登录网页保存会话令牌

  24. 24

    如何在php中设置用于登录和注销的会话?

  25. 25

    codeIgniter如何在登录控制器中创建会话

  26. 26

    PHP - 如何在登录会话中检查用户级别

  27. 27

    如何从谷歌登录获取 php 会话数据

  28. 28

    如何使用 R 中的会话令牌连接到 Amazon Athena?

  29. 29

    如何在 RSA Archer 中获取当前会话令牌?

热门标签

归档