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

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

前提

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

概要

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

なにができるのか

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

  • 現在ゲームをプレイしているログインユーザーのユーザー情報を取得
  • ユーザーIDを指定して特定のユーザー情報を取得
  • 現在のゲームを最近プレイしたユーザーの情報の取得

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

利用想定/利用例

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

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

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

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

利用方法

  • 本機能は次の方法で利用できます。
方法場所
公式プラグイン
ゲーム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
最新ユーザー取得

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を利用しすぎて、一時的に利用を制限されている