0

Swift でバックエンドレス easyLogin* メソッドを使用して Facebook にログインし、ユーザーの Facebook 名を取得してさらに表示しようとしています。正常にログインできますが、名前を取得できません。

コードは次のとおりです ("first_name"はマップする facebooks グラフ フィールド、"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)")

})

ここで何が欠けていますか?

4

1 に答える 1

0

正確な問題が何であるかはわかりませんが、次のことがうまくいきました:

  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. すべてが期待どおりに機能しました-名前が取得され、マップされました
于 2016-06-11T16:45:38.997 に答える