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