透過一擁有強大查詢功能支援的網路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=8b278280-d7e6-4a90-a652-b4746da67fbf&limit=5
https://scidm.nchc.org.tw/zh_TW/api/3/action/datastore_search?resource_id=8b278280-d7e6-4a90-a652-b4746da67fbf&q=jones
https://scidm.nchc.org.tw/zh_TW/api/3/action/datastore_search_sql?sql=SELECT * from "8b278280-d7e6-4a90-a652-b4746da67fbf" WHERE title LIKE 'jones'
使用jQuery對資料API發出一個簡單的ajax(JSONP)請求。
var data = { resource_id: '8b278280-d7e6-4a90-a652-b4746da67fbf', // 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=8b278280-d7e6-4a90-a652-b4746da67fbf&limit=5&q=title:jones' fileobj = urllib.urlopen(url) print fileobj.read()