メディアライブラリーでは、APIから以下の各種機能を利用できます

  • フォルダ内のファイル閲覧、検索、アップロード
  • ユーザー情報取得、作成、更新、削除
  • グループ情報取得、作成、更新、削除
  • etc..

API利用方法について

APIの利用手順は次のとおりです。

  1. HTTPSにて必要なデータを送信(GET, POST)
  2. サーバーから受信したJSONデータの内容に沿って処理を行う。

具体的な操作を行う際には、まず /api/login にてログインを行ってください。
その際にサーバーから発行された Cookie を次回以降のリクエストヘッダに加えてください。

サーバーから受信したデータ

サーバーから受信したJSONデータのstatusの値は ok または ng です。
ok の場合はリクエスト成功となりますが、ng の場合は何らかの理由でリクエストの処理に 失敗しています。code や message の内容をもとに対処ください。
code は HTTP Status に似せた数値となっています(4xx で一時的なエラー等)。
message はテキストでエラーの内容等が書かれています。

API一覧

URL 説明
POST /api/login システムにログインする
GET /api/logout システムからログアウトする
POST /api/alive セッションが有効性を確認する
POST /api/folder フォルダー内のファイル一覧を取得する
POST /api/upload ファイルをアップロードする
POST /api/get-file ファイルのメタ情報を取得する
POST /api/get-image 画像を取得する
POST /api/get-image-info 画像データ群を取得する
POST /api/get-movie 動画を取得する
POST /api/get-movie-info 動画のメタ情報を取得する
POST /api/get-movie-meta 動画のHLS情報を取得する
POST /api/update-file ファイル情報を更新する
POST /api/delete-file ファイルを削除する
POST /api/get-search-cond 検索条件を取得する
POST /api/search ファイルを検索する
POST /api/search-in-file ファイル内のテキストを検索する
POST /api/thumbnail サムネイルを取得する
POST /api/make-folder フォルダーを新規作成する
POST /api/create-user ユーザーを新規作成する
POST /api/find-user ユーザー情報を取得する
POST /api/find-all-user すべてのユーザー情報を取得する
POST /api/update-user ユーザー情報を更新する
POST /api/delete-user ユーザー情報を削除する
POST /api/create-group グループを新規作成する
POST /api/find-group グループ情報を取得する
POST /api/find-all-group すべてのグループ情報を取得する
POST /api/update-group グループ情報を更新する
POST /api/delete-group グループ情報を削除する
POST /api/create-attr ファイル属性を新規作成する
POST /api/find-attr ファイル属性情報を取得する
POST /api/find-all-attr すべてのファイル属性情報を取得する
POST /api/update-attr ファイル属性情報を更新する
POST /api/delete-attr ファイル属性情報を削除する
POST /api/find-restriction アクセス元情報を取得する
POST /api/update-restriction アクセス元情報を更新する

API詳細

システムにログインする

POST /api/login

パラメーター

  • loginId ログインID
  • password パスワード

返り値

  • statusステータス: ok,ng
  • code コード: 数値
  • userId ユーザーID
  • aesKey 共有鍵

システムからログアウトする

POST /api/logout

リクエスト

  • (Cookie)PHPSESSID セッションID

レスポンス

  • status ステータス: ok,ng
  • code コード: 数値

セッションの有効性を確認する

POST /api/alive

リクエスト

  • (Cookie)PHPSESSID セッションID

レスポンス

  • status ステータス: ok,ng
  • code コード: 数値

フォルダー内のファイル一覧を取得する

POST /api/folder

リクエスト

  • id フォルダーID (id=1はトップフォルダ)
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status OK, NG
  • code 数値
  • list 検索結果のリスト
    • 検索結果 画像群の場合
      • title タイトル
      • targetURL データ取得先URL
      • fileId ファイルID
      • path ディレクトリ階層
      • favorite お気に入り: on, off
      • contentType 1 (メディアの種類)
      • thumbnailURL サムネイル取得先URL
      • pageCount ページ数
      • updatedAt 最終更新日時
    • 検索結果 動画の場合
      • title タイトル
      • subTitle サブタイトル
      • fileName アップロード元ファイル名
      • targetURL データ取得先
      • path ディレクトリ階層
      • contentType 2 (メディアの種類)
      • thumbnailURL サムネイル取得先URL
    • 検索結果 ディレクトリの場合
      • title タイトル
      • subTitle サブタイトル
      • fileName アップロード元ファイル名
      • targetURL データ取得先
      • path ディレクトリ階層
      • contentType 3 (メディアの種類)
      • thumbnailURL サムネイル取得先URL

ファイルをアップロードする

POST /api/upload

リクエスト

  • folderId アップロード先のフォルダID
  • file アップロードするファイル実体
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status OK, NG
  • code 数値

ファイルのメタ情報を取得する

POST /api/get-file

リクエスト

  • id ファイルID
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status OK, NG
  • code 数値
  • metas 属性のリスト
    • key ファイル属性ID
    • value ファイル属性値

画像を取得する

POST /api/get-image

リクエスト

  • id 画像ID
  • page ページ数: オプション: 省略時は0
  • zoom ズームレベル(1,2,3,5で1が最小): オプション: 省略時は1
  • x 分割されたうちのx座標 (0 ~ (zoom-1)*3-1)Number オプション:省略時は0
  • y 分割されたうちのy座標 (0 ~ (zoom-1)*3-1)Number オプション:省略時は0
  • width 画像幅(600 or 800)Numberオプション:省略時は800
  • encrypt 暗号化するかStringオプション:falseだと暗号化しない
  • (Cookie)PHPSESSID セッションID

レスポンス

  • 画像データ(バイナリー、AES暗号化済み)

画像データ群を取得する

POST /api/get-image-info

リクエスト

  • id ファイルID
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status OK, NG
  • code 数値
  • pageCount 画像数
  • title タイトル
  • file_id ファイルID
  • startPage 表示開始ページ
  • fileNameString アップロード元ファイル名
  • pathString ディレクトリ階層
  • contents リスト
    • item0 ハッシュ
      • page ページ番号
      • thumnailURL サムネイル取得先
      • targerURLString コンテンツ取得先
      • titleString 画像タイトル
      • width 横
      • height 縦
  • metas 属性(ファイルサイズなど)のリスト
    • key ex:スポンサー
    • value ex:テスト食品

動画を取得する

POST /api/get-movie

リクエスト

  • id ファイルID
  • (Cookie)PHPSESSID セッションID

レスポンス

  • 動画のバイナリー

動画メタデータ取得

POST /api/get-movie-info

リクエスト

  • id 動画ID
  • (Cookie)PHPSESSID セッションID

レスポンス

  • title 一覧表示用タイトル
  • targetURL コンテンツ取得先
  • path ディレクトリ階層
  • metas (key, value)の配列 ex:(スポンサー, トヨタ)
  • status OK, NG
  • code コード: 数値

動画のHLS情報を取得する

POST /api/get-movie-meta

リクエスト

  • id ファイルID
  • (Cookie)PHPSESSID セッションID

レスポンス

  • 動画メタファイル

ファイル情報を更新する

POST /api/update-file

リクエスト

  • id ファイルID
  • metas 属性のリスト
    • key ファイル属性ID
    • value ファイル属性値
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status OK, NG
  • code 数値

ファイルを削除する

POST /api/delete-file

リクエスト

  • id ファイルID
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status OK, NG
  • code 数値

検索条件を取得する

POST /api/get-search-cond

リクエスト

  • (Cookie)PHPSESSID セッションID

レスポンス

  • status OK, NG
  • code 数値
  • list 検索条件のリスト
  • 検索条件 トグルスイッチの場合
    • name クエリパラメータ
    • title 検索項目タイトル
    • type 1 (検索条件タイプ)
    • section 0=通常検索、1=詳細検索
    • default デフォルト選択値
    • data 送付すべきデータのハッシュ
      • ON ONの場合に送付すべき値
      • OFF OFFの場合に送付すべき値
  • 検索条件 リストの場合
    • type 2 (検索条件タイプ)
    • section 0=通常検索、1=詳細検索
    • default デフォルト選択値のリスト
      • item0 1項目めのデフォルト選択値
      • item1 2項目めのデフォルト選択値(以下略)
    • data 選択値、複数項目対応のため配列で
      • item0 1項目めの選択値データのハッシュ
      • item1 2項目めの選択値データのハッシュ
  • 検索条件 テキストの場合
    • type 3 (検索条件タイプ)
    • section 0=通常検索、1=詳細検索
    • default デフォルト選択値
  • 検索条件 日付の場合
    • type 4 (検索条件タイプ)
    • section 0=通常検索、1=詳細検索
    • default デフォルト選択値のリスト(FromとTo)
      • item0 Fromのデフォルト
      • item1 Toのデフォルト

ファイルを検索する

POST /api/search

リクエスト

  • name 検索項目名(get-search-condの返り値のkey)
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status OK, NG
  • code 数値
  • list 検索結果のリスト
    • 検索結果 画像群の場合
      • title タイトル
      • targetURL データ取得先URL
      • fileId ファイルID
      • path ディレクトリ階層
      • favorite お気に入り: on, off
      • contentType 1 (メディアの種類)
      • thumbnailURL サムネイル取得先URL
      • pageCount ページ数
      • updatedAt 最終更新日時
    • 検索結果 動画の場合
      • title タイトル
      • subTitle サブタイトル
      • fileName アップロード元ファイル名
      • targetURL データ取得先
      • path ディレクトリ階層
      • contentType 2 (メディアの種類)
      • thumbnailURL サムネイル取得先URL
    • 検索結果 ディレクトリの場合
      • title タイトル
      • subTitle サブタイトル
      • fileName アップロード元ファイル名
      • targetURL データ取得先
      • path ディレクトリ階層
      • contentType 3 (メディアの種類)
      • thumbnailURL サムネイル取得先URL

ファイル内検索

POST /api/search-in-file

リクエスト

  • fileId ファイルID
  • keyword パスワード
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status ステータス: ok,ng
  • code コード: 数値
  • list 結果のリスト
    • page ページ数
    • phrase フレーズ
    • pageWidth ページの幅
    • pageHeight ページの高さ
    • xMin ワードの格納されているboxの左上のx座標
    • yMin ワードの格納されているboxの左上のy座標
    • xMax ワードの格納されているboxの右上のx座標
    • yMax ワードの格納されているboxの右上のy座標

サムネイルを取得する

POST /api/thumbnail

リクエスト

  • id ファイルID
  • page ページ番号
  • (Cookie)PHPSESSID セッションID

レスポンス

  • 画像データ(バイナリー、AES暗号化済み)

フォルダーを新規作成する

POST /api/make-folder

リクエスト

  • parent_id 親フォルダーID
  • name フォルダー名
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status OK, NG
  • code 数値
  • id 作成されたフォルダーID

ファイル属性を更新する

POST /api/update-attr?id=ファイル属性ID

リクエスト

  • name 名前
  • position 表示順
  • type 種別
  • required 必須か否か。yes=必須。no=必須でない。
  • search 検索に使うか否か。basic=基本検索項目として使う, extra=詳細検索項目として使う、(データなし)=使わない
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status ステータス: ok,ng
  • code コード: 数値
  • data ファイル属性情報
    • id ファイル属性番号
    • name 名前
    • position 表示順
    • type 種別
    • required 必須か否か。yes=必須。no=必須でない。
    • search 検索に使うか否か。basic=基本検索項目として使う, extra=詳細検索項目として使う、(データなし)=使わない
    • created_at 作成日時
    • updated_at 更新日時

グループ情報を更新する

POST /api/update-group?id=グループ番号

リクエスト

  • name グループ名
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status ステータス: ok,ng
  • code コード: 数値
  • data グループ情報
    • id グループ番号
    • name 名前
    • created_at 作成日時
    • updated_at 更新日時

アクセス元情報を更新する

POST /api/update-restriction

リクエスト

  • browser ブラウザーから
  • api APIから
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status ステータス: ok,ng
  • code コード: 数値
  • data アクセス元情報
    • browser ブラウザーから
    • api APIから
    • created_at 作成日時
    • updated_at 更新日時

タグを更新する

POST /api/update-tag?id=タグID

リクエスト

  • name タグ名
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status ステータス: ok,ng
  • code コード: 数値
  • data タグ情報
    • id タグ番号
    • name 名前
    • created_at 作成日時
    • updated_at 更新日時

ユーザー情報を更新する

POST /api/update-user?id=ユーザーID

リクエスト

  • name 名前
  • login_id ログインID
  • email メールアドレス
  • roll 役割: normal = 一般ユーザー、admin = 管理者
  • (Cookie)PHPSESSID セッションID

レスポンス

  • status ステータス: ok,ng
  • code コード: 数値
  • data 更新されたユーザー情報
    • id ユーザー番号
    • name 名前
    • login_id ログインID
    • password パスワード
    • email メールアドレス
    • roll 役割
    • created_at 作成日時
    • updated_at 更新日時