蔭(使用SWIFT)的iOS facebookSDK使用最後FBSDK獲得用戶的全部細節
//MARK: sign in with facebook
func signInWithFacebook()
{
if (FBSDKAccessToken.currentAccessToken() != nil)
{
// User is already logged in, do work such as go to next view controller.
println("already logged in ")
self.returnUserData()
return
}
var faceBookLoginManger = FBSDKLoginManager()
faceBookLoginManger.logInWithReadPermissions(["public_profile", "email", "user_friends"], handler: { (result, error)-> Void in
//result is FBSDKLoginManagerLoginResult
if (error != nil)
{
println("error is \(error)")
}
if (result.isCancelled)
{
//handle cancelations
}
if result.grantedPermissions.contains("email")
{
self.returnUserData()
}
})
}
func returnUserData()
{
let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: nil)
graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in
if ((error) != nil)
{
// Process error
println("Error: \(error)")
}
else
{
println("the access token is \(FBSDKAccessToken.currentAccessToken().tokenString)")
var accessToken = FBSDKAccessToken.currentAccessToken().tokenString
var userID = result.valueForKey("id") as! NSString
var facebookProfileUrl = "http://graph.facebook.com/\(userID)/picture?type=large"
println("fetched user: \(result)")
}
當我打印的獲取用戶我只得到了id和名字! , 但我請求了電子郵件和朋友以及個人資料的許可, 有什麼問題?
順便說一句:我將這個項目從我的MacBook移動到另一個macbook(因爲我格式化了我的)它工作得很好,當它在我創建該項目的macbook上,但移動項目後(使用bitbucket克隆)我得到了這個結果。
refer thi s鏈接,我希望能解決你的問題http://stackoverflow.com/a/30634444/4536708 @ user3703910 –
**問題解決重複發佈:** http://stackoverflow.com/a/31503463/3382676 – HeTzi