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

Raj*_*ngh 4 facebook ios swift

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

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

var accessToken = FBSession.activeSession().accessTokenData
Run Code Online (Sandbox Code Playgroud)

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

我帮我错了.

Jon*_*han 8

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

FBSession.openActiveSessionWithAllowLoginUI(false)
Run Code Online (Sandbox Code Playgroud)

其次,您可以accessTokenaccessTokenData以下字符串获取:

var myToken = FBSession.activeSession().accessTokenData.accessToken
Run Code Online (Sandbox Code Playgroud)

从那里,您可以根据需要将其发送到您的服务器.在尝试使用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")
    })
}
Run Code Online (Sandbox Code Playgroud)

祝好运!我希望我能帮忙!