使用swift ios将accessToken发送到服务器

时间:2014-09-27 03:37:13

标签: ios swift facebook

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

我使用以下代码获取accessToken,我在ios 8中使用swift。

var accessToken = FBSession.activeSession().accessTokenData

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

请在我错的地方帮助我。

1 个答案:

答案 0 :(得分:8)

首先,确保您有一个开放的会话。我在AppDelegate

中使用这种方法
FBSession.openActiveSessionWithAllowLoginUI(false)

其次,您可以将accessToken作为来自accessTokenData的字符串:

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")
    })
}
祝你好运!我希望我能帮忙!