会員登録時エラー
hrs-nkym opened this issue · comments
お世話になっております。
monacaとnifty mbaasで会員登録機能を実装したところ、下記の
エラーが発生したりしなかったりと不安定な動作が見受けられました。
エラーメッセージ番号が違いますが同様かと思われる過去のissuesがありました。
iOS10だと正常にデータを取得できない
https://github.com/NIFTYCloud-mbaas/ncmb_js/issues/165
iOS10とmonacaでデバイストークン取得時にエラー
https://github.com/NIFTYCloud-mbaas/UserCommunity/issues/552
下記のOS、端末で同様の動作が発生します。
- 利用OS
iOS 9,
iOS 10,
Android 4
原因切り分け中ですが、ご存知の方おりましたら
ご教示ください。
不具合の概要(Description of bug)
- SDKのバージョン(SDK version)
ncmb version: 2.1.3 - 不具合が発生した環境(Environment requirement)
monaca IDE
angularjs version: 1.4.3 - 不具合を再現させる手順・サンプルコード(Step for Reproduce bug / Sample code)
`
var user = new ncmb.User();
user.set('userName', $scope.user.id)
.set('password', $scope.user.pass)
.set('mailAddress', $scope.user.email)
.set('telNumber', $scope.user.tel)
.set('pref', $scope.user.pref)
.set('gender', $scope.user.gender);
user.signUpByAccount()
.then(function(){
alert('success');
currentLoginUser = ncmb.User.getCurrentUser();
location.href = "index.html";
})
.catch(function(err){
alert('failure'+err);
});
`
- エラーメッセージ(Error messages)
Error: cannot POST https://mb.api.cloud.nifty.com:443/2013-09-01/users (409)
追記となります。
先に記載した"不具合を再現させるサンプルコード"ですが
項目数6項目と記載しましたが、実際には11項目あります。
これをuserとpasswordの2項目程度に減らすと問題なく登録されます。
下記のサンプルも3項目程度です。
http://mb.cloud.nifty.com/doc/current/user/basic_usage_monaca.html
そこで試しに最初は2項目、そして少しずつ項目数を増やしてみたところ
9項目目でエラーが発生しました。
そして再度2項目に減らしてみますと正常に登録されます。
一度に多数の項目を登録させるのはUX的にもあまり良くないのでしょうか。
REST API リファレンス : エラーコード一覧 | ニフティクラウド mobile backendにエラーの一覧があります。
上記ページにあるような E40xxxx
エラーの詳細を見てみるのもいいと思いますが
E40x
のEを除いた部分がHTTPステータスコードとリンクしているので、
今回はデータの重複エラーがサーバーから返ってきているようです。
デバッグ目的で同じユーザー名での会員登録を複数回ためした場合などに
今回のようなエラーが発生すると思うのですがいかがでしょうか。
一度に多数の項目を登録させるのはUX的にもあまり良くないのでしょうか。
これについては問題ないと思います。
ご返信、ありがとうございます。
なるほど、HTTPステータスコードとリンクしていたんですね。
さきほど試しに11項目の全ての値を変えたところ複数回、試行して全て正常に登録されました。
調べてみると下記の値が既に登録されている値と重複している場合、409エラーが返ってくるようです。
自分で追加したフィールドは重複しても今のところ問題ないようです。
・ユーザー名(userName )
・メールアドレス(mailAddress)
もう少し検証を続け、新たな問題がなければ週末には本issueはcloseします。