Простой бэкэнд-логин на 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 ответ

Решение

Не уверен, в чем именно заключалась проблема, но у меня сработало следующее:

  1. Я удалил ранее созданного пользователя Facebook из таблицы бэкэнд-пользователей

  2. Попытался войти, используя следующий фрагмент кода:

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)")
    })
}
  1. Все работало как ожидалось - имя было получено и сопоставлено
Другие вопросы по тегам