web-dev-qa-db-ja.com

FirebaseユーザーのdisplayNameを設定するにはどうすればよいですか?

FirebaseウェブサイトのJS Authドキュメントによれば、displayNameを取得する方法とdisplayNameを更新する方法のみを示しているため、更新しようとしました。しかし、何かを作成せずに更新するにはどうすればよいのか、それは論理的ではありません。

だから私の質問は、登録時にユーザーのdisplayNameをどのように設定できますか?

function createUser(email, password) {
    firebase.auth().createUserWithEmailAndPassword(email, password).catch(function (error) {
        error.message.replace(".", "");
        alert(error.message + " (" + error.code + ")");
        document.getElementById("password").value = "";
    });
    if (firebase.auth().currentUser != null) {
        firebase.auth().currentUser.updateProfile({
            displayName: document.getElementById("name").value
        }).then(function () {
            console.log("Updated");
        }, function (error) {
            console.log("Error happened");
        });
    }
}

私はすでにこれを試しましたが、うまくいかないことが証明されています...

心から、ファルーク

13
user6417185

リクエストをチェーンする必要があります:

firebase.auth().createUserWithEmailAndPassword(email, password)
.then(function(result) {
  return result.user.updateProfile({
    displayName: document.getElementById("name").value
  })
}).catch(function(error) {
  console.log(error);
});`
21
bojeil

({displayName:name})を直接使用できませんでした(エディターの構文エラー)。次に、別の方法を見つけました:

UserUpdateInfo updateInfo = UserUpdateInfo();
updateInfo.displayName = name;
result.user.updateProfile(updateInfo);

これはダートにあります(私はFlutterでFirebaseを使用しています)。

0
Hamilton