アクティビティ一覧取得API

  • 目的・用途

本機能は、システムに登録されているアクティビティを取得する際に用いるAPIである。アクティビティの状態を指定することにより、取得するアクティビティを選別することが可能となる。

  • 利用方法

リクエスト時に要求されているパラメータ(※処理概要参照)を指定しAPIを実行する。

  • 利用可能なロール
ロール システム管理者 リポジトリ管理者 サブリポジトリ管理者 登録ユーザー 一般ユーザー ゲスト(未ログイン)
利用可否 × ×
  • 機能内容

  • システム管理者、リポジトリ管理者は全ユーザーのアクティビティ一覧を取得する。

  • コミュニティ管理者、登録ユーザーは自身が担当するアクティビティ一覧を取得する。

  • 関連モジュール

  • weko-workflow.rest.py: GetActivities

  • weko-workflow.api.py: WorkActivity

  • weko-workflow.utils.py

  • weko-workflow.config.py

  • weko-workflow.errors.py

  • 処理概要

  • OAuth2認証機能を用いてユーザーの適切なアクセス制限を行う。

  • サーバー負荷軽減のためリクエストのアクセス制限機能をかける。

  • ETagを用いて既に取得したことがあるデータか判定を行う。

  • アクティビティ一覧取得を行う場合、以下のように動作する。

    • 認証しているユーザーを確認する。

    • リクエストパラメータからアクティビティ状態、取得するデータ件数、ページ数を取得する。

    • 関連モジュールを用いて該当するアクティビティ一覧を取得する。

    • 取得したアクティビティ一覧をjsonに格納して返却する。

  • URLはapi/:version/activities

    | パラメータ | 値 | |------------|--------------| | :version | APIのバージョン |

  • リクエスト

    • ヘッダ

    | キー名 | 値 | |-------------------|-------------------------------------------------------| | Accept-Language | 表示する言語の指定 | | Authorization | Bearer アクセストークン | | If-None-Match | 初回リクエスト時のレスポンスヘッダーに設定されているETagの値 |

  • ボディ

無し

  • パラメータ
キー名
status アクティビティの状態(※1)

・all : 登録・編集中、承認待、却下、終了

・wait : 承認待

・todo : 登録・編集中、却下
limit 取得するデータ件数(※2)
page 取得可能なデータ総数をlimitの数値で分割した際の取得するページ(※3)
pretty レスポンスの整形フラグ(※4)

・true, t, yes, 1:有効

・上記以外:無効

(※1)指定がない場合「todo」がデフォルトで設定される

(※2)指定がない場合「20」がデフォルトで設定される

(※3)指定がない場合「1」がデフォルトで設定される

(※4)指定がない場合「false(無効)」がデフォルトで設定される

  • レスポンス

    • ヘッダ

    | キー名 | 値 | |--------|----------------| | ETag | コンテンツのハッシュ値 |

  • ボディ

アクティビティ一覧をJSON形式で返す(※詳細はAPI仕様書を参照)

  • 異常系

    • リクエストで与えたパラメータに不正があった場合、エラーコード400を返す

    • Bearer認証に失敗した場合、エラーコード401を返す

    • APIを利用できないロールだった場合、エラーコード403を返す

  • 更新履歴

日付 更新内容
2023/06/15 初版作成

results matching ""

    No results matching ""