スタートガイド

ユーザーごとの参照範囲

キーで参照できる範囲は、そのキーのユーザーがコントロールパネルで見られる範囲とまったく同じです。API側での設定は不要で、ルールはユーザーの組織と権限によって決まります。

ユーザーの組織のみ

APIが対象とするのは、ユーザーに紐づく組織、つまりコントロールパネルでそのユーザーが選択できる組織だけです。

管理者は組織内のすべてを参照可能

組織またはメイン組織の管理者は、その組織のすべてのTV、ファイル、プレイリストを参照できます。

その他のユーザーは権限次第

その他のユーザーには、組織ごとのTV、ファイル、プレイリストの閲覧権限が適用されます。これは、コントロールパネルでそれらのページを利用可能にする権限と同じものです。

変更はすぐに反映

コントロールパネルで権限を外したり、ユーザーから組織を外したり、ユーザーを無効にしたりすると、次のリクエストから反映されます。

対象外となるもの

  • 権限のない組織の項目は、一覧に表示されません。そのような項目を直接リクエストすると、存在しない場合と同様に404が返されます。
  • プレイリスト内で、ユーザーが参照できないファイルはfileがnullになります。プレイリストのTVやファイルのプレイリストには、ユーザーが参照できるものだけが表示されます。
  • 削除された項目と、まだ有効化されていないTVは表示されません。

キーで参照できる内容を確認するには、/organizationsを呼び出してください。各組織にadminとpermissionsが含まれます。

システムが一部のデータしか必要としない場合は、コントロールパネルでそのシステム専用のユーザーを作成して必要な権限だけを付与し、そのユーザーのアカウントでキーを生成してください。

リクエスト
curl "https://api.on-cloud.live/v1/organizations" \
  -H "X-API-Key: $API_KEY"
<?php
$ch = curl_init('https://api.on-cloud.live/v1/organizations');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('API_KEY')],
]);
$response = json_decode(curl_exec($ch), true);
const res = await fetch('https://api.on-cloud.live/v1/organizations', {
  headers: { 'X-API-Key': process.env.API_KEY }
});
const { data } = await res.json();
レスポンス200
{
  "data": [
    {
      "uid": "8f14e45fceea167a5a36dedd4bea2543",
      "name": "Loja Centro",
      "neutral_zone": false,
      "admin": true,
      "permissions": {
        "tvs": true,
        "files": true,
        "playlists": true
      }
    },
    {
      "uid": "1679091c5a880faf6fb5e6087eb1b2dc",
      "name": "Loja Shopping Norte",
      "neutral_zone": false,
      "admin": true,
      "permissions": {
        "tvs": true,
        "files": true,
        "playlists": true
      }
    }
  ]
}
別の組織の項目404
{
  "error": {
    "code": "not_found",
    "message": "Item not found or you do not have access to it."
  }
}