【问题标题】:sending accessToken to server using swift ios使用 swift ios 将 accessToken 发送到服务器
【发布时间】:2014-09-27 03:37:12
【问题描述】:

我正在尝试使用 facebook ios login sdk。我使用以下代码获取访问令牌。现在我想将此令牌发送到服务器,以便服务器可以通过调用 facebook 服务器来验证此令牌。

我正在使用下面的代码来获取 accessToken ,我在 ios 8 中使用 swift。

var accessToken = FBSession.activeSession().accessTokenData

当我尝试将此令牌发送到服务器时收到错误消息,指出 accessToken 类型不可转换为 NSString。

请帮助我哪里错了。

【问题讨论】:

    标签: ios swift facebook


    【解决方案1】:

    首先,确保您有一个开放的会话。我在AppDelegate 中使用了这种方法:

    FBSession.openActiveSessionWithAllowLoginUI(false)
    

    其次,可以从accessTokenData获取accessToken作为字符串:

    var myToken = FBSession.activeSession().accessTokenData.accessToken
    

    从那里,您可以根据需要将其发送到您的服务器。我尝试了几个请求包装器,直到我选择了Net。如果您有一个像 Net 这样的库,那么将您的令牌发送到您的服务器非常容易,这样您就不必处理低级别的网络请求接口:

    func doLogin() -> Void {
    
        let net = Net(baseUrlString: "http://myhost.com/")
    
        let url = "auth/facebook_access_token"
    
        let params = ["access_token": myToken]
    
        net.GET(url, params: params, successHandler: { responseData in
            let result = responseData.json(error: nil)
            // Do something with whatever you got back
            NSLog("result \(result)")
        }, failureHandler: { error in
            NSLog("Error")
        })
    }
    

    祝你好运!希望能帮到你!

    【讨论】:

    • @RajeshSingh 很高兴听到这个消息!您应该将此标记为答案。 ;)
    • Alamofire 似乎也是发送/接收 json 请求的好选择
    • @RageCompex 我最终为我的项目切换到 Almofire。它似乎在 Net 库中工作得更好。
    猜你喜欢
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 2019-02-24
    • 2019-05-20
    • 1970-01-01
    相关资源
    最近更新 更多