手動実行でのパラメーター

ここでは、Server Code のエンドポイントが手動実行によって呼び出された際の関数のパラメーターを示します。

Server Code の書式 に示すように、エンドポイントは以下のような形式です。

// Synchronous function
function funcName(params, context) {
  // Your code comes here...
}

// Asynchronous function
function funcName(params, context, done) {
  // Your code comes here...
}
  • 関数名 funcName はエンドポイント名になります。クライアントから Server Code を実行する際には、このエンドポイント名を用いて実行対象関数を指定します。
  • 第 1 引数 params は、Server Code の実行時パラメータを取得するために利用します。クライアント側より渡した実行時パラメータを取得できます。たとえば、クライアントから username パラメータが渡された場合、params.username によって値を参照できます。

    なお、呼び出し元の IP アドレス等や SDK の種別などを取得できるパラメータは用意していません。必要な場合は、クライアント側から呼び出し元を識別できるパラメータを渡す必要があります。

  • 第 2 引数 context はアプリケーション関連パラメータ取得のために使用します。

    • getAppID メソッドを使うと AppID が取得できます。
    • getAppKey メソッドを使うと AppKey が取得できます。
    • getAccessToken メソッドを使うと、クライアント側で Server Code が呼び出されたときに指定されたアクセストークンを取得できます。
      • ログイン処理 を実行することで、クライアントと同じユーザーの権限で Server Code を実行できます(サンプルは こちら)。
      • さらに、このメソッドを使うと、Server Code がログイン済みユーザーから呼び出されたのか(有効なアクセストークンが返ります)、匿名ユーザーで呼び出されたのか(null が返ります)も判断できます。
    • getAppAdminContext メソッドを使うと アプリ管理者 のコンテキスト(KiiAppAdminContext)が取得できます。このコンテキストのメソッドからユーザーやグループの操作をアプリ管理者権限で実行できます(サンプルは こちら)。
  • 第 3 引数 done は 非同期的な実行の場合に、Server Code の実行結果をクライアントに返すためのコールバック関数です。詳細は 非同期的な実行 を参照してください。

クライアントへの戻り値は、呼び出された関数の return で指定された値(同期的な実行の場合)、または、第 3 引数 done への引数値(非同期的な実行の場合)となります。

Server Code から複数の戻り値を返したい場合は、以下のように JSON を使うと容易です。呼び出し元では、JSON(JavaScript / REST)または JSONObject クラスのインスタンス(その他のクライアント SDK)として参照できます。

function main(params, context, done) {
    done({"bonusScore" : 100, "bonusTime" : 30});
}

クライアントからの呼び出し方の詳細は Server Code の手動実行 を参照してください。