コンテンツにスキップ

ネクストエンジン API 開発者フォーラム: 同じアプリを使用する複数ユーザーにそれぞれaccess_tokenを割り振る方法

ネクストエンジン API のネクストエンジンAPIについてに関する開発者フォーラムの質問と回答。クライアントアプリ・ストア連携・エンジン利用についてのQ&A。

投稿者: 匿名ユーザー 日時: 2017/09/21

カテゴリ: ネクストエンジンAPIについて

自社で使用するAPIアプリ(バッチ)を並行稼働させたいため、

複数ユーザーでそれぞれにaccess_tokenを取得しようとしています。

アプリで「/users/sign_in/」を呼び出すのですが、

最初のユーザーがログインして以降は呼び出してもログイン画面が表示されないため、

目的を果たすことができずにいます。

複数ユーザーで同じアプリに対してそれぞれ別のaccess_tokenを取得するのは

そもそも無理なのでしょうか。


別ユーザーであれば、同じアプリでもaccess_tokenは別になります。

「/users/sign_in/」で取得するuid,stateはアプリを起動したユーザーのuid,stateになる為、access_tokenはアプリを起動したユーザー用になります。

以下確認させてください。

最初のユーザーがログインして以降は呼び出してもログイン画面が表示されない

→具体的にどのような操作でアプリを起動されているのでしょうか?

匿名ユーザー(質問者) — 2017/09/22

Section titled “匿名ユーザー(質問者) — 2017/09/22”

ご回答ありがとうございます。

アプリはユーザー一覧とログイン用ボタンを表示したWEB画面からスタートするのですが、

JAVAで開発しているため、SDKの公開ソースを参考にさせていただいています。

ボタンを押す度に「new NeApiClient(・・・)」でインスタンスを生成し、

「neLogin()」を実行しています。

「/users/sign_in/」の入力パラメータにはログインIDが無いので、

どうやってユーザーを判断するのか疑問ではあったのですが・・・。

ネクストエンジン本体のログイン情報でユーザーを識別します。

「/users/sign_in/」実行後ネクストエンジンにログインされていない端末の場合、ネクストエンジンのログイン画面が表示されます。

匿名ユーザー(質問者) — 2017/09/22

Section titled “匿名ユーザー(質問者) — 2017/09/22”

ネクストエンジンにログインされていない端末の場合、ネクストエンジンのログイン画面が表示されます。

複数ユーザー分のaccess_tokenを取得するためには

別々の端末から異なるユーザーIDでログインしなければならないということですね。

では、そのようにして取得した複数ユーザー分のaccess_tokenを並行稼働のバッチで使用する場合ですが、

1台のPC上で動いても問題ないのでしょうか。

複数ユーザー分のaccess_tokenを取得するためには

別々の端末から異なるユーザーIDでログインしなければならないということですね。

→はい、その通りです。または、同じ端末で取得する場合は一旦ログアウトして別ユーザーでログインする必要があります。

では、そのようにして取得した複数ユーザー分のaccess_tokenを並行稼働のバッチで使用する場合ですが、

1台のPC上で動いても問題ないのでしょうか。

→バッチプログラムを稼働するPCは1台でも問題ないです。

匿名ユーザー(質問者) — 2017/09/22

Section titled “匿名ユーザー(質問者) — 2017/09/22”

同じ端末で取得する場合は一旦ログアウトして別ユーザーでログインする必要があります。

この「ログアウト」とは、ネクストエンジンのログアウトでしょうか?

APIでログアウトはできますか?

「ログアウト」とはネクストエンジンのログアウトになります。

APIでログアウトすることは出来ません。

匿名ユーザー(質問者) — 2017/09/22

Section titled “匿名ユーザー(質問者) — 2017/09/22”

access_tokenの取得はバッチの本番稼働前に実施し、

その後は周期的にAPIでリフレッシュする計画ですので、

最初の取得時は一旦ログアウトする手順にしようと思います。

ご教示ありがとうございました。