管理者機能を利用する場合は、まず次のように KiiAppAdminContext
のコンテキストを作成してください。Server Code で context.getAppAdminContext()
を使って管理者トークンを取得した場合は、すでに adminContext
が使える状態にあるため、作成の操作は不要です。
-
-
authenticateAsAppAdmin
メソッド実行時に、開発者ポータルでアプリを作成した際に払いだされた ClientID
と ClientSecret
を指定してください。ClientID と ClientSecret を確認する方法は アクセスキーの確認とリセット をご参照ください。
注意: ClientID と ClientSecret は、第三者に決して知られてはならない機密情報です。第三者が閲覧可能なコード内に ClientID や ClientSecret は絶対に記載しないでください。管理者権限での API 実行は、自らが管理するサーバー内での処理等、コード内容が非公開な状況下において利用されることを想定しています。
ClientID と ClientSecret 漏洩に伴うリスクについては 管理者用のアクセスキーの漏洩とリスク をご確認ください。
管理者権限での実行
作成した KiiAppAdminContext
インスタンスのメソッドを使うと、管理者権限での操作ができます。この際、操作の対象となる KiiObject
や KiiUser
などのインスタンスは、KiiAppAdminContext
インスタンスから直接的または間接的に作成されている必要があります。
図の左側のように、KiiAppAdminContext
インスタンスから操作の対象となる KiiObject
や KiiUser
などのインスタンスを作成し、それらのメソッドを使って Kii Cloud にアクセスすると、管理者権限で処理が実行されます。
図の右側のように、Kii.bucketWithName()
メソッドなどを使って操作対象のインスタンスを直接生成すると、ログイン中のユーザー(またはログイン前の匿名ユーザー)の権限で処理が実行されます。
管理者権限でのアクセスは、authenticateAsAppAdmin()
メソッドの実行後かどうかではなく、KiiAppAdminContext
インスタンスから操作対象のインスタンスを生成しているかどうかによって決まる点にご注意ください。
管理者権限で KiiUser を操作する
次のように userWithID
メソッドを実行して KiiUser
インスタンスを作成します。
-
-
以後、該当ユーザーに対するフルアクセスが可能になります。
管理者権限で KiiGroup を操作する
新規に KiiGroup を作成し操作する
次のように groupWithName
メソッドを実行して KiiGroup
インスタンスを作成し、saveWithOwner
メソッドでオーナーのユーザー ID を指定して KiiGroup を保存します。通常の save
で保存した場合、オーナーが存在しない KiiGroup が作成されるので注意してください。
-
-
ID を指定して新規に KiiGroup を作成し操作する
次のように registerGroupWithOwnerAndID
メソッドを実行すると、グループの ID を指定して KiiGroup を作成することもできます。
-
-
既存の KiiGroup を操作する
次のように groupWithURI
メソッドを実行して KiiGroup
インスタンスを作成します。
-
-
また、次のように groupWithID
メソッドを実行すると、既存のグループの KiiGroup
インスタンスが作成できます。
-
-
いずれのケースにおいても、以後該当グループに対するフルアクセスが可能になります。
管理者権限で KiiBucket を操作する
次のように bucketWithName
メソッドを実行してアプリケーションスコープに KiiBucket
インスタンスを作成します。
-
-
- 新規 Bucket を作成した場合は、アプリケーションスコープの Bucket になります。
- 既存 Bucket をインスタンス化した場合は、この Bucket に対して管理者権限でアクセスできます。
管理者権限で KiiObject を操作する
次のように objectWithURI
メソッドを実行して KiiObject
インスタンスを作成します。
-
-
- 新規 Object を作成した場合は、アプリケーションスコープの Object になります。
- 既存 Object をインスタンス化した場合は、この Object に対して管理者権限でアクセスできます。
管理者権限で KiiUser を検索する
次のように findUserByUsername
メソッドを実行して KiiUser
を検索します。
-
-
以後、検索したユーザーに対するフルアクセスが可能になります。
なお検索したユーザーの情報は、"Expose Full User Data to Others" オプションの設定にかかわらず、ユーザーの全情報が返されます。
他にも findUserByEmail
(メールアドレス)や findUserByPhone
(電話番号)を利用して KiiUser を検索できます。
管理者権限で KiiTopic を操作する
次のように topicWithName
メソッドを実行してアプリケーションスコープの KiiTopic
インスタンスを取得します。
-
-
この機能の利用例は以下をご覧ください。
- アプリケーションスコープのトピックを作成する例は こちら をご覧ください。
- アプリケーションスコープのトピックにメッセージを送信する例は こちら をご覧ください。
管理者権限で KiiThing を操作する
次のように loadThingWithThingID
メソッドを実行して KiiThing
インスタンスを取得します。
-
-
このコードは thingID を指定して KiiThing を取得する例ですが、loadThingWithVendorThingID
メソッドでは vendorThingID 指定での取得が、registerThing
では新規の Thing の登録が可能です。それぞれ、JSDoc をご覧ください。
KiiThing を使った処理の詳細は クライアント SDK から Thing を利用 以下のページをご覧ください。