跳到內容
主控台

權限

每個 API Token 都帶著一組權限(scope),決定它能取得哪些資料。權限以「資料類型」命名,同一份資料不論用 HTTP 或 SSE 串流取得,都是同一個權限,也計入同一個資源的配額。

完整清單以線上 JSON 為準:https://manager.exptech.com.tw/api/v1/info/permissions(說明見公開資訊 API)。

名稱 說明 計入配額 相關文件
* 全部權限 — —
account 帳號 API 否 —
trem.rts TREM 即時測站 是 trem.rts.v1
trem.rtw TREM 即時波形 是 —
trem.raw TREM 原始資料 是 —
trem.eew TREM EEW(僅提供給特定用戶) 是 —
trem.intensity TREM 震度 是 trem.intensity.v1
trem.oeews TREM 現地型(僅提供給特定用戶) 否 —
trem.control 不對外開放 — —
eq.report 地震報告 是 eq.report.v1
  • 「計入配額」為是的權限各自對應一個資源(resource_id),用量與每日配額以資源為單位計算。對照表見 /api/v1/info/resources。
  • 「相關文件」為 — 的權限,目前沒有公開文件的 API 使用它。
  • trem.control 只供 ExpTech 內部使用,第三方不需要也不應申請這個權限。
  • trem.eew 是 TREM EEW:TREM 系統以 TREM-net 觀測資料自行解算的地震預警,屬非官方資訊,一切以中央氣象署發布為準。依《氣象法》,TREM EEW 只提供給經 ExpTech 個別同意或簽約的特定用戶,不對不特定大眾發布。trem.oeews(TREM 現地型)同樣只提供給特定用戶。

* 會通過所有權限檢查,包含之後新增的權限。它不能代替訂閱,用量也照樣計入各資源的配額。建議只在測試時使用,正式環境請只給需要的權限。

群組是一次選取多個權限的寫法,本身不是權限。

群組 說明 包含
trem.* TREM 全部(不含 trem.control) trem.rts、trem.rtw、trem.raw、trem.eew、trem.intensity、trem.oeews
eq.* 地震全部 eq.report
  • 群組在 token 建立時展開成上表的各個權限,token 上存的是展開後的結果。之後群組若加入新權限,已經建立的 token 不會自動取得,要重新建立。
  • 涵蓋範圍以「包含」欄為準,不要用名稱前綴推斷。trem.control 名稱以 trem. 開頭,但不在 trem.* 裡。
  • OAuth2 的 access_token 回應與主控台顯示的權限都是展開後的名稱,不會出現群組名。
  • 主控台建立 token:在 API Token 頁面勾選。
  • OAuth2:授權請求的 scope 參數,以空白分隔,例如 eq.report trem.rts 或 trem.*。不認識的名稱會讓整個請求失敗(invalid_scope),不會默默略過。詳見 OAuth2。
傳輸方式 檢查 不通過時
HTTP(需要 token 的端點) token 有該端點要求的權限,或有 * 403,沒有內容
SSE(需要權限的 topic) 1. token 有該 topic 的權限,或有 *
2. 帳號已訂閱該資源(* 不能代替)
forbidden: token scope missing
forbidden: not subscribed
SSE(公開 topic) 不檢查權限與訂閱 —

權限通過之後還會檢查每日配額,見用量與配額。各狀態碼與訊息見錯誤碼。