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

标签 ios swift facebook

我正在尝试使用 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/

相关文章:

ios - ABRecordCopyValue 中的 EXC 错误访问

ios - 为什么我的 UILabel 没有被设置?

ios - 我如何知道何时在 UICollectionView 上触摸了背景(即不是单元格)?

swift - 通过特定于对象的方法进行对象交互

facebook - Ubuntu 中的 OpenSSL 1.0.1 握手解决方法?

ios - 我在iOS Facebook SDK中收到错误“ErrorReauthorizeFailedReasonSessionClosed”

swift - 让 keydown NSEvent 在 Swift 中运行一次

ios - 检查按下了哪个 gestureRecognizer

ios - 开放图谱 Facebook SDK 2.5

iOS facebook 登录每次都请求权限