關於 OmniStor API


OmniStor API 概述

OmniStor 提供檔案基本操作的 API ,包含取得相片的縮圖、影片的截圖、以及萃取文件內容等功能;OmniStor 以通用的 Web API 進行資料操作,提供高度的互通性與多種開發環境的支援,並透過 TLS 1.2+ 傳輸協定增加傳輸安全性。 您須遵循一致的原則使用 OmniStor API 來存取資料:

  • 取得授權
    通過嚴謹、安全的帳號驗證程序取得授權 Token,並在每一次 API 使用時帶入 Token。

  • 瀏覽或操作檔案及目錄
    透過HTTPS通用協定可輕易操作檔案及目錄等資源。


各伺服器簡介


ServiceGateway API 簡介

客戶端在使用 OmniStor 時須經過幾個步驟:

  1. 客戶端需要帶著使用者的帳號(User ID)和密碼(Password),於 ServiceGateway 位址進行 API /member/acquiretoken/ 呼叫。
    2-1. 將客戶端傳來的使用者帳號密碼進行認證。
    2-2. 若帳號密碼無誤,則 ServiceGateway 核發的 Token 將伴隨著 InfoRelay、WebRelay 的位址回傳給客戶端。

API 共通 Header

當客戶端呼叫 API 時,Cookie 必須指定 sid 欄位值供 ServiceGateway 記錄客戶端的資訊,Cookie 中的「sid」須為小寫英文字母。


InfoRelay功能簡介

凡是不直接更動檔案本身的各種操作皆由 InfoRelay 負責處理。例如:瀏覽目錄內容、檢視目錄的分享清單及搬移目錄……等。

如何開始使用 InfoRelay API

客戶端程式在實際呼叫 InfoRelay 的 API 之前,必須先向 ServcieGateway 取得 Token 以及 InfoRelay 位置,步驟如下:

  1. 首先,客戶端必須先向 ServiceGateway 位址呼叫 /member/acquiretoken/ 以取得 Token 與 InfoRelay 位置

    1. 客戶端發送使用者的帳號(User ID) 和密碼(Password) 至 ServiceGateway 進行認證。

    2. 若帳號密碼無誤,則 ServiceGateway 將回傳 Token 以及 InfoRelay 的位址給客戶端。

  2. 完成一次上述流程之後,客戶端方能帶著 ServiceGateway 核發的 Token 連接 InfoRelay 的 API。當 Token 到期或失效,可再次呼叫 /member/acquiretoken/ 取得新的Token。

API 共通 Header

當客戶端呼叫 API 時,Cookie 必須指定 sid 欄位值供 ServiceGateway 記錄客戶端的資訊,Cookie 中的 sid 須為小寫英文字母。


WebRelay 功能簡介

WebRelay 的功能主要是提供客戶端在 OmniStor 系統中進行實體檔案的存取動作,並支援網路瀏覽器(Web Browser) 的執行。例如:檔案上傳、檔案下載、影片格式轉換和取得圖片檔的縮圖…等。

如何開始使用 WebRelay API

若客戶端程式欲呼叫使用 WebRelay 的 API,則必須先向 ServiceGateway 取得 Token 及 WebRelay 的位址,步驟如下:

  1. 首先,客戶端必須先向 ServiceGateway 位址呼叫 /member/acquiretoken/ 以取得 Token 與 WebRelay 位置

    1. 客戶端發送使用者的帳號(User ID) 和密碼(Password) 至 ServiceGateway 進行認證。

    2. 若帳號密碼無誤,則 ServiceGateway 將回傳 Token 以及 WebRelay 的位址給客戶端。

  2. 完成一次上述流程之後,客戶端方能帶著 ServiceGateway 核發的 Token 連接 WebRelay 的 API。當 Token 到期或失效,可再次呼叫 /member/acquiretoken/ 取得新的Token。


Search Server API 簡介

為確保網路安全性,所有 API 採 HTTPS 傳輸,而且客戶端須向 Search Server 傳送 Token 以進行驗證。而 Token 的傳遞是以 URL Rewriting 的方式附加於 API 的路徑之後。以 /fulltext/sqlquery/ 為例,客戶端向 Search Server 傳遞的 URL 為:http://{ search server IP }/fulltext/sqlquery/{ token }

API 共通 Header

當客戶端呼叫 Search Server API 時,Cookie 必須指定 sid 欄位值供 Search Server 記錄客戶端的資訊,Cookie 中的 sid 須為小寫英文字母。


開發需要範例文件嗎?

你可由 https://asuscloud.atlassian.net/wiki/spaces/OAPI/pages/10687348850 下載 swagger 文件,然後…

  • 利用 swagger-codegen 產生 Full API client sample code。

  • 也可匯入 Postman 調整測試,後續可產生單一 API 之 sample code。