OpenAPI介紹
簡介
蜂巢 API 提供更靈活的資源控製方式,滿足你的定製化需求,如自動化部署,持續集成等功能。
蜂巢 API 需要使用 API Token 來發起 API 請求。 請到 https://c.163.com 頁麵登錄到你的賬戶,查看你的 Access Key 和 Access Secret,然後調用 生成 API token 接口 來獲取 token。
API 訪問 https://open.c.163.com 。API 采用 Restful API 風格,支持內省,支持 API 訪問頻率限製。
功能特點
- 支持內省
- 為每一個請求響應包含一個 Request-Id 頭,並使用 UUID 作為該值。通過在客戶端、服務器或任何支持服務上記錄該值,它能為我們提供一種機製來跟蹤、診斷和調試請求。
- 安全
- 所有 API 均采用 Https。
- 頻率限製
- 針對授權接口,支持基於用戶的頻率限製,頻率值根據用戶的等級級別設置;針對非授權接口,支持基於 IP 的頻率限製。
Access Key
注冊後,蜂巢會頒發 Access Key 和 Access Secret 給客戶 。
沒有頒發認證授權的將無法調用任何接口
說明:
Access Key: 用於標識客戶身份,在網絡請求中會以某種形式傳輸
Access Secret : 作為私鑰形式存儲於客戶方本地, 不在網絡傳遞,它的作用是對客戶方發起的請求進行數字簽名,保證該請求是來自指定客戶的請求,並且是合法的有效的,
使用 Access Key 進行身份識別,加上 Access Secret 進行數字簽名,即可完成應用接入與認證授權.
你可以在 Access Key 中創建、下載、刪除、禁用你的 Access Key。
蜂巢支持多Access Key、Access Secret,保障你的應用安全。
OpenAPI 接口設計風格
OpenAPI 的設計采用了 Restful API 風格。下麵將簡要介紹 OpenAPI 接口設計風格。
協議
客戶端訪問 OpenAPI 接口服務,必須采用 HTTPS 協議,即所有的訪問接口行為,都需要用 TLS ,通過安全連接來訪問。
版本號
OpenAPI 將 API 版本號放入了 URL 中。舉個例子,當前使用 OpenAPI 創建鏡像倉庫的URL為https://open.c.163.com/API/v1/repositories,其中 v1 指的是當前 API 版本為v1。
請求
如果請求的 body 需要攜帶參數,需要將參數 JSON 格式化,否則會得到錯誤響應。同時,請求中需要規範地使用HTTP 請求方法動詞,即:
1、 GET方法:從服務器獲取資源(一項或多項);
2、 POST方法:在服務器上新建資源;
3、 PUT:在服務器上更新資源(客戶端提供改變後的完整資源);
4、 DELETE:在服務器上刪除資源。
響應
OpenAPI 的接口服務會為每次響應,按照 HTTP 規範返回合適的響應狀態碼。並且,在錯誤響應中,除了上述的 Request-ID,還會生成結構化的錯誤信息,即機器可讀錯誤碼(code)和肉眼可讀的錯誤信息(message)。其中錯誤碼的構造規則為:code = HttpStatus.code (長度3) + OpenAPI 服務編碼(長度2) + 細分錯誤碼(長度2)。對於正確的響應,針對不同的操作,OpenAPI 接口向用戶返回的結果符合以下規範:
1、 GET請求:返回資源對象的列表或者單個資源對象。
2、 POST請求:返回新建的資源的ID。
3、 PUT請求:返回處理結果狀態碼,比如狀態碼 200。
4、 DELETE請求:返回處理結果狀態碼,比如狀態碼 200
OpenAPI 使用步驟
OpenAPI 的使用主要分為三步:
1、 得到 Key 和 Secret 。進入網易蜂巢的控製台,點開個人基本信息,接著進入 API 子頁麵,就可以看到個人Access Key 和 App Secret;
2、 獲取 Token。使用1中得到的 Access Key 和 App Secret,調用 OpenAPI 中的 Token 生成接口,獲取授權Token;
3、 帶上2中得到的 Token,便可以訪問 OpenAPI 中的全部接口服務。如果請求沒有 Token,OpenAPI 的安全機製將會視其為對服務(除了獲取 Token 服務和 WebHook 服務)的未授權訪問操作,進而會攔截。
注:OpenAPI 中內置了流控機製,對於惡意攻擊 OpenAPI 服務的行為,會采取限製措施。
最後更新:2017-01-03 10:48:58