快速上手

前置參數設定

為了方便描述各個API呼叫行為,以下描述API需要用到的參數。

  • base_url: 您的CKAN平台網址.例如: http://demo.ckan.org

  • api_key : 每個CKAN帳號的擁有者,都有一組API KEY,我們稱之為金鑰。這組金鑰是用來跟CKAN平台認證用的,絕對不可外洩。在使用時,必須在HTTP請求中的header中,把金鑰放入Authorization或是X-CKAN-API-Key欄位內。

請求類別

每一次對CKAN平台,要求資料或是發送資料,我們稱之為請求(request),由於CKAN API是採用RESTful API的方式建構。所以請求類別分為以下幾種:

  • GET: 用來搜尋或是取得CKAN平台上的資料。

  • POST: 用來上傳檔案或是建立metadata。

  • UPDATE: 用作更新資料集描述用途。

  • DELETE: 刪除資料集或是資源檔。

請求方式範例

API請求,可透過上面敘述的base_url以及api_key,使用對應的請求類別以及請求URL來達成目的。

您可以使用curl指令或是REST用戶端工具來進行測試。

假設您的api_key為abc-123,base_url為demo.ckan.org,如果您想取得該開放資料平台(意即demo.ckan.org)的標籤列表。您可以使用curl指令,對http://demo.ckan.org/api/3/action/tag_list ,下達GET請求。

curl --header "Authorization:abc-123" http://demo.ckan.org/api/3/action/tag_list

如果請求成功,CKAN平台回應的格式通常以JSON方式表示如下:

{"help": "http://demo.ckan.org/api/3/action/help_show?name=tag_list", "success": true, "result": [" \ub2e4\ub9ac", " \ubd84\uc11d", " \uc2dc\uc124", " \uad8c\uc5ed\ubcc4", " \uc8fc\ucc28\uc7a5", " \ucda9\uc804\uc18c", " \uacbd\uc601\uc815\ubcf4", " \uae08\uc735\uae30\uad00", " \ubd80\ubcf4\ub300\uc0c1", " \uc218\ub0a9\ud604\ud669", " \ud30c\uc0b0\uc7ac\ub2e8", " \ud30c\uc0b0\uad00\uc7ac\uc778", " \uc8fc\ubbfc\ud3b8\uc758\uc2dc\uc124", "\uacbd\uc81c", "\uad50\ub7c9", "\uae30\uc220", "\uc815\ubd80", "\u3066\u3059\u3068", "\u30c6\u30b9\u30c8", "\uc5d0\ub108\uc9c0", "\u30e9\u30fc\u30e1\u30f3", "\ubcf4\ud638\ub300\uc0c1", "\uacf5\uc601\uc8fc\ucc28\uc7a5", "\uc608\uae08\ubcf4\ud5d8\ub8cc", "\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0", "\ud30c\uc0b0\uae08\uc735\uae30\uad00", "\ubd80\ubcf4\uae08\uc735\uae30\uad00 \uacbd\uc601\uc815\ubcf4", "01", "02", "03", "100", "12", "123", "140201", "2014", "2015", "2016", "23", "311", "34", "3x1", "3X1", "45", "46352", "aa", "abastaments", "abc", "academic", "Acesso \u00e0 Internet", "acidentes", "Adaptation", "Adaptive Control"...

如果一個請求失敗,那麼可能會回傳如下錯誤訊息:

{
    "help": "Creates a package",
    "success": false,
    "error": {
        "message": "Access denied",
        "__type": "Authorization Error"
        }
 }

Last updated