I'm developing an app which requires facebook login, and user details. However, the same code that I used in previous apps for fb login doesn't work, and I need to make separate graph requests for each field like name, email, picture, etc.
Basically, whenever I try to do the following:
connection.add(GraphRequest(graphPath: "/me", parameters:["fields":"email, name, picture"])) { httpResponse, result in
switch result {
case .success(let response):
guard let userInfo = response.dictionaryValue else {
return
}
userDict["email"] = userInfo["email"]! as Any
UserDefaults.standard.set(userDict["email"], forKey: userKeys.email)
case .failed(let error):
print("Graph Request Failed: \(error)")
}
}
I get this error:
Graph Request Failed: Error Domain=com.facebook.sdk.core Code=8 "(null)" UserInfo={com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey=0, com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey=400, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=Syntax error "Expected end of string instead of "%"." at character 5: email%2C%20name%2C%20picture, com.facebook.sdk:FBSDKGraphRequestErrorGraphErrorCode=2500, com.facebook.sdk:FBSDKGraphRequestErrorParsedJSONResponseKey={
body = {
error = {
code = 2500;
"fbtrace_id" = "FIc1yiUL+1z";
message = "Syntax error \"Expected end of string instead of \"%\".\" at character 5: email%2C%20name%2C%20picture";
type = OAuthException;
};
};
code = 400;
And a similar error when I do:
connection.add(GraphRequest(graphPath: "/me", parameters:["fields":"picture.type(large)"]))
However, it doesn't give an error when I put in a single field as a parameter.
Any help would be greatly appreciated :)