NIFCLOUD-mbaas / ncmb_js

ニフクラ mobile backend JavaScript SDK

Home Page:https://mbaas.nifcloud.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

会員登録時エラー

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的にもあまり良くないのでしょうか。

@hrs-nkym

REST API リファレンス : エラーコード一覧 | ニフティクラウド mobile backendにエラーの一覧があります。

上記ページにあるような E40xxxxエラーの詳細を見てみるのもいいと思いますが
E40x のEを除いた部分がHTTPステータスコードとリンクしているので、
今回はデータの重複エラーがサーバーから返ってきているようです。

デバッグ目的で同じユーザー名での会員登録を複数回ためした場合などに
今回のようなエラーが発生すると思うのですがいかがでしょうか。

一度に多数の項目を登録させるのはUX的にもあまり良くないのでしょうか。

これについては問題ないと思います。

@ykokw

ご返信、ありがとうございます。

なるほど、HTTPステータスコードとリンクしていたんですね。
さきほど試しに11項目の全ての値を変えたところ複数回、試行して全て正常に登録されました。

調べてみると下記の値が既に登録されている値と重複している場合、409エラーが返ってくるようです。
自分で追加したフィールドは重複しても今のところ問題ないようです。

・ユーザー名(userName )
・メールアドレス(mailAddress)

もう少し検証を続け、新たな問題がなければ週末には本issueはcloseします。