我正在尝试使用 facebook ios 登录 sdk。我使用以下代码获取访问 token 。现在我想将此 token 发送到服务器,以便服务器可以通过调用 facebook 服务器来验证此 token 。
我正在使用下面的代码来获取 accessToken,我在 ios 8 中使用 swift。
var accessToken = FBSession.activeSession().accessTokenData
当我尝试将此 token 发送到服务器时收到错误消息,提示该类型的 accessToken 不可转换为 NSString。
请帮我看看我哪里错了。
最佳答案
首先,确保您有一个打开的 session 。我在我的 AppDelegate
中使用了这种方法:
FBSession.openActiveSessionWithAllowLoginUI(false)
其次,您可以从 accessTokenData
获取字符串形式的 accessToken
:
var myToken = FBSession.activeSession().accessTokenData.accessToken
从那里,您可以根据需要将其发送到您的服务器。我尝试了几个请求包装器,直到我选择了 Net .如果您有像 Net 这样的库,那么将您的 token 发送到您的服务器是非常容易的,这样您就不必处理低级网络请求接口(interface):
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")
})
}
祝你好运!希望我能帮上忙!
关于ios - 使用swift ios将accessToken发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26071061/