ユーザー情報にアクセスする

編集
この機能は実験的な機能であり、将来仕様が変更される可能性があります。予めご了承ください。

前提

このAPIを利用する際は、APIの活用方法のヒントや使い分け方などについてまとめたAPIのセオリーも合わせてご参照ください。

概要

RPGアツマールを使ったことのあるniconicoユーザーの情報を取得できる機能です。

なにができるのか

次の4種類の取得方法を提供しています。

  • プレイヤー自身のユーザー情報を取得
  • ユーザーIDを指定して特定のユーザー情報を取得
  • 現在のゲームを最近プレイしたユーザーの情報を取得
  • オンライン人数を取得

ただし、他人のユーザー情報を取得するには、そのユーザーが プレイヤー間通信の有効化 を先にしている必要があります。

利用想定/利用例

例えば、次のような利用を想定しています。

  • プレイしているユーザーがログインしているかどうかを判別し、他のログイン必須APIを呼び出せるか事前に調べる
  • idを指定したユーザーの情報を取得し、フレンド機能を実装する
  • 最近プレイしたユーザーの情報を取得し、すれちがい通信のような機能を実装する

例えば、次のサンプルゲームではこの機能を利用し、フォームに入力されたuseridのユーザー情報を表示しています。ただし、プレイヤー間通信の有効化が必要なため、このゲームをプレイしたことがあるユーザーの情報のみになります。

また、こちらのサンプルでは、最近プレイしたユーザーの情報を利用しています。

利用方法

  • 本機能は次の方法で利用できます。
方法場所
公式プラグイン
ゲームAPI以下の「APIでの利用方法」を参考に、直接APIを呼び出してください

公式プラグインの利用方法

プレイヤー自身のユーザー情報を取得

  • 現在のユーザーの情報を取得します。
  • ユーザーがプレミアム会員かどうかも取得できます。
  • プレイしているユーザーがログインしている必要があります。ログインしてない場合にエラーを返すため、それでユーザーのログイン状態を判別することができます。
  • このAPIはAPIの呼び出し回数制限の対象です。
プラグイン設置方法
  1. プロジェクトのプラグインフォルダに AtsumaruGetSelfInformationExperimental.js を右クリックし「保存」して設置。
  2. プロジェクトのプラグイン設定で AtsumaruGetSelfInformationExperimental プラグインをONにする。
  3. プラグイン設定画面で、取得したユーザー情報の収納先変数を設定する。
利用方法

プラグインコマンドは次のいずれかのように指定します。(どちらでも動作は同じです)

GetSelfInformation
プレイヤー取得

ユーザーIDを指定して特定のユーザー情報を取得

プラグイン設置方法
  1. プロジェクトのプラグインフォルダに AtsumaruGetUserInformationExperimental.js を右クリックし「保存」して設置。
  2. プロジェクトのプラグイン設定で AtsumaruGetUserInformationExperimental プラグインをONにする。
  3. プラグイン設定画面で、取得したユーザー情報の収納先変数を設定する。
利用方法

プラグインコマンドは次のいずれかのように指定します。(どちらでも動作は同じです)

GetUserInformation <userIdVariableId>
特定ユーザー取得 <userIdVariableId>

現在のゲームを最近プレイしたユーザーの情報を取得

プラグイン設置方法
  1. プロジェクトのプラグインフォルダに AtsumaruGetRecentUsersExperimental.js を右クリックし「保存」して設置
  2. プロジェクトのプラグイン設定で AtsumaruGetRecentUsersExperimental プラグインをONにする。
  3. プラグイン設定画面で、取得したユーザー情報を収納する変数のIDを指定する。
利用方法

プラグインコマンドは次のいずれかのように指定します。(どちらでも動作は同じです)

GetRecentUsers
最新ユーザー取得

オンライン人数を取得

  • 今から1~60分前までの間にこのゲームをプレイしたログインユーザーの人数を取得します。
  • このAPIはAPIの呼び出し回数制限の対象です。
プラグイン設置方法
  1. プロジェクトのプラグインフォルダに AtsumaruGetActiveUserCountExperimental.js を右クリックし「保存」して設置
  2. プロジェクトのプラグイン設定で AtsumaruGetActiveUserCountExperimental プラグインをONにする。
  3. プラグイン設定画面で、取得したユーザーの人数を収納する変数のIDを指定する。
利用方法

プラグインコマンドは次のいずれかのように指定します。(どちらでも動作は同じです)

GetActiveUserCount <minutes>
オンライン人数取得 <minutes>

<minutes>には1~60までの数値を指定し、今から<minutes>分前までの間にこのゲームをプレイしたログインユーザーの人数を取得します。

APIでの利用方法

APIを利用したユーザー情報へのアクセス方法についてです。

プレイヤー自身のユーザー情報を取得

  • 現在のユーザーの情報を取得します。
  • ユーザーがプレミアム会員かどうかも取得できます。
  • プレイしているユーザーがログインしている必要があります。ログインしてない場合にエラーを返すため、それでユーザーのログイン状態を判別することができます。
  • このAPIはAPIの呼び出し回数制限の対象です。
メソッドwindow.RPGAtsumaru.experimental.user.getSelfInformation()
引数なし
戻り値Promise<SelfInformation>
リリース日2018/12/17
更新日2018/12/17
戻り値の型 SelfInformation について

戻り値で取得できる SelfInformation は以下のような型です。

interface SelfInformation {
  id: number;
  name: string;
  isPremium: boolean;
  profile: string;
  twitterId: string;
  url: string;
}

プロパティの内容は次のようになっています。

プロパティ名内容
idnumberユーザーのニコニコユーザーID
namestringユーザーの名前
isPremiumbooleanユーザーがニコニコのプレミアム会員かどうか
profilestringユーザーのプロフィール文
twitterIdstringユーザーのtwitterId
urlstringユーザーのサイトURL
戻り値の例
// window.RPGAtsumaru.experimental.user.getSelfInformation().then(function(v) { console.log(v) }) を実行
{
  id: 64341294,
  name: "RPGアツマール公式",
  profile: "やあ! 僕はアツマライオン!\nみんなでゲームを作って遊んで楽しもうよ!",
  twitterId: "nico_indiesgame",
  url: "https://game.nicovideo.jp/atsumaru/",
  isPremium: false
}
起こりうるエラーの種類
名前説明
UNAUTHORIZEDプレイヤーがログインしていない
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にゲームAPIを利用しすぎて、一時的に利用を制限されている

ユーザーIDを指定して特定のユーザー情報を取得

メソッドwindow.RPGAtsumaru.experimental.user.getUserInformation(userId: number)
引数userId : ユーザー情報を取得したいユーザーのニコニコユーザーIDを自然数で指定します。
戻り値Promise<UserInformation>
リリース日2018/12/17
更新日2018/12/17
戻り値の型 UserInformation について

戻り値で取得できる UserInformation は以下のような型です。

interface UserInformation {
  id: number;
  name: string;
  profile: string;
  twitterId: string;
  url: string;
}

プロパティの内容は次のようになっています。

プロパティ名内容
idnumberユーザーのニコニコユーザーID
namestringユーザーの名前
profilestringユーザーのプロフィール文
twitterIdstringユーザーのtwitterId
urlstringユーザーのサイトURL
戻り値の例
// window.RPGAtsumaru.experimental.user.getUserInformation(64341294).then(function(v) { console.log(v) }) を実行
{
  id: 64341294,
  name: "RPGアツマール公式",
  profile: "やあ! 僕はアツマライオン!\nみんなでゲームを作って遊んで楽しもうよ!",
  twitterId: "nico_indiesgame",
  url: "https://game.nicovideo.jp/atsumaru/"
}
起こりうるエラーの種類
名前説明
FORBIDDENuserIdプレイヤー間通信の有効化を行っていないユーザーのIDを指定した
BAD_REQUEST引数として不正な値を指定している
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にゲームAPIを利用しすぎて、一時的に利用を制限されている

現在のゲームを最近プレイしたユーザーの情報を取得

メソッドwindow.RPGAtsumaru.experimental.user.getRecentUsers()
引数なし
戻り値Promise<UserIdName[]>
リリース日2018/12/17
更新日2018/12/17
戻り値の型 UserIdName について

戻り値で取得できる UserIdName は以下のような型です。

interface UserIdName {
  id: number;
  name: string;
}

プロパティの内容は次のようになっています。

プロパティ名内容
idnumberユーザーのニコニコユーザーID
namestringユーザーの名前
戻り値の例
// window.RPGAtsumaru.experimental.user.getRecentUsers().then(function(v) { console.log(v) }) を実行
[
  {
    id: 64341294,
    name: "RPGアツマール公式"
  },
  {
    id: 63008093,
    name: "ツクール開発部公式"
  }
]
起こりうるエラーの種類
名前説明
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にゲームAPIを利用しすぎて、一時的に利用を制限されている

オンライン人数を取得

  • 今から1~60分前までの間にこのゲームをプレイしたログインユーザーの人数を取得します。
  • このAPIはAPIの呼び出し回数制限の対象です。
メソッドwindow.RPGAtsumaru.experimental.user.getActiveUserCount(minutes: number)
引数minutes : 現在から何分前までのプレイ人数を取得するかを1~60までの整数で指定します。
戻り値Promise<number>
リリース日2019/07/11
更新日2019/07/11
戻り値の例
// window.RPGAtsumaru.experimental.user.getActiveUserCount(1).then(function(v) { console.log(v) }) を実行
3
起こりうるエラーの種類
名前説明
BAD_REQUESTminutes に1~60までの整数以外を指定した
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にゲームAPIを利用しすぎて、一時的に利用を制限されている