我正在使用Parse在我的应用上登录facebook。
这是我的代码:
//set permissions required
let permissionsArray = ["user_about_me"]
//log in
PFFacebookUtils.logInWithPermissions(permissionsArray, block: { (pUser, pError) -> Void in
//if user is correctly loggin
if pUser != nil && pError == nil{
//request facebook for more informations
var request = FBSDKGraphRequest(graphPath: "me", parameters: nil)
request.startWithCompletionHandler({ (connection, result, error) -> Void in
NSLog("\(error)")
})
}
})
我正确地使用解析登录,但是当我正在询问我的信息时,总是有这样的信息:
com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey={
body = {
error = {
code = 2500;
message = "An active access token must be used to query information about the current user.";
type = OAuthException;
};
};
code = 400;
}}
答案 0 :(得分:0)
我已经使用Facebook SDK进行登录,我使用返回的令牌进行Parse登录,之后我可以获取用户的信息。
我已用此代码解决了我的问题:
FBSDKLoginManager().logInWithReadPermissions(["user_about_me"], handler: { (result, error) -> Void in
if let resultLogin : FBSDKLoginManagerLoginResult = result as? FBSDKLoginManagerLoginResult{
//if no error
if error == nil
&& resultLogin.grantedPermissions.contains("user_about_me"){
var accessToken = FBSDKAccessToken.currentAccessToken().tokenString
var expiration = FBSDKAccessToken.currentAccessToken().expirationDate
var facebookID = FBSDKAccessToken.currentAccessToken().userID
PFFacebookUtils.logInWithFacebookId(facebookID, accessToken: accessToken, expirationDate: expiration, block: { (pUser, pError) -> Void in
//if user is correctly loggin
if pUser != nil && pError == nil{
//request facebook for more informations
var request = FBSDKGraphRequest(graphPath: "me", parameters: nil)
request.startWithCompletionHandler({ (connection, result, error) -> Void in
NSLog("\(error)")
})
}
})
}
}
})