透過一擁有強大查詢功能支援的網路API來存取資源之資料. 進一步的資訊位於 CKAN 資料 API 與 DataStore 文件。
可使用下列之CKAN action API所提供的功能來存取資料API。
建立 | https://scidm.nchc.org.tw/zh_TW/api/3/action/datastore_create |
---|---|
更新 / 插入 | https://scidm.nchc.org.tw/zh_TW/api/3/action/datastore_upsert |
查詢 | https://scidm.nchc.org.tw/zh_TW/api/3/action/datastore_search |
查詢 (透過SQL) | https://scidm.nchc.org.tw/zh_TW/api/3/action/datastore_search_sql |
https://scidm.nchc.org.tw/zh_TW/api/3/action/datastore_search?resource_id=b81188c7-330d-4d17-92f9-4a861feb8dfb&limit=5
https://scidm.nchc.org.tw/zh_TW/api/3/action/datastore_search?resource_id=b81188c7-330d-4d17-92f9-4a861feb8dfb&q=jones
https://scidm.nchc.org.tw/zh_TW/api/3/action/datastore_search_sql?sql=SELECT * from "b81188c7-330d-4d17-92f9-4a861feb8dfb" WHERE title LIKE 'jones'
使用jQuery對資料API發出一個簡單的ajax(JSONP)請求。
var data = { resource_id: 'b81188c7-330d-4d17-92f9-4a861feb8dfb', // the resource id limit: 5, // get 5 results q: 'jones' // query for 'jones' }; $.ajax({ url: 'https://scidm.nchc.org.tw/zh_TW/api/3/action/datastore_search', data: data, dataType: 'jsonp', success: function(data) { alert('Total results found: ' + data.result.total) } });
import urllib url = 'https://scidm.nchc.org.tw/zh_TW/api/3/action/datastore_search?resource_id=b81188c7-330d-4d17-92f9-4a861feb8dfb&limit=5&q=title:jones' fileobj = urllib.urlopen(url) print fileobj.read()