Простой бэкэнд-логин на Facebook: выбор имени
Я пытаюсь войти в Facebook с помощью backendless метода easyLogin* в Swift и получить имя пользователя Facebook для дальнейшего отображения. Я могу успешно войти в систему, но не могу получить имя.
Код выглядит следующим образом ("first_name"
это графическое поле в фейсбуке, "displayName"
является необязательным пользовательским полем):
let backendless = Backendless.sharedInstance();
backendless.userService.easyLoginWithFacebookFieldsMapping(
["email":"email", "first_name":"displayName"], permissions: ["email", "public_profile"],
response: {(result : NSNumber!) -> () in
print ("Result: \(result)")
},
error: { (fault : Fault!) -> () in
print("Server reported an error: \(fault)")
})
Что мне здесь не хватает?
1 ответ
Решение
Не уверен, в чем именно заключалась проблема, но у меня сработало следующее:
Я удалил ранее созданного пользователя Facebook из таблицы бэкэнд-пользователей
Попытался войти, используя следующий фрагмент кода:
func easyFacebookLogin() { let fieldsMapping = [ "name" : "name", "first_name": "first_name", "last_name" : "last_name", "email": "email"] backendless.userService.easyLoginWithFacebookFieldsMapping( fieldsMapping, permissions: ["email"], response: {(result : NSNumber!) -> () in print ("Result: \(result)") }, error: { (fault : Fault!) -> () in print("Server reported an error: \(fault)") }) }
- Все работало как ожидалось - имя было получено и сопоставлено