我正在尝试使用facebook ios登录sdk。我使用下面的代码获取访问令牌。现在我想将此令牌发送到服务器,以便服务器可以通过调用facebook服务器来验证此令牌。
我使用以下代码获取accessToken,我在ios 8中使用swift。
var accessToken = FBSession.activeSession().accessTokenData
当我尝试将此令牌发送到服务器时收到错误消息,指出accessToken类型无法转换为NSString。
请在我错的地方帮助我。
答案 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")
})
}
祝你好运!我希望我能帮忙!