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