2014-09-27 33 views
4

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

我使用下面的代码来获取的accessToken,我使用Swift在IOS 8

VAR的accessToken = FBSession.activeSession()。accessTokenData

当我试图此令牌发送到服务器出现错误,指出该类型的accessToken不能转换为NSString。

请帮我,我错了。

回答

8

首先,确保你有一个公开的会议。我用这个方法在我的AppDelegate

FBSession.openActiveSessionWithAllowLoginUI(false) 

其次,你可以得到accessToken作为字符串从accessTokenData

var myToken = FBSession.activeSession().accessTokenData.accessToken 

从那里,你可以把它送到你的服务器,但是你想。我尝试了几个请求包装,直到我解决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") 
    }) 
} 

祝你好运!我希望我能够帮助!

+1

感谢乔纳森,它的工作。 – 2014-09-30 11:59:44

+0

@RajeshSingh很高兴听到它!您应该将其标记为答案。 ;) – Jonathan 2014-10-04 22:07:49

+0

Alamofire似乎也是发送/接收JSON请求的好选择 – CularBytes 2015-07-01 10:01:43