<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CKAN</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web API</anchor> のうち主要なものは他の同種の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webサービス</anchor>にも実装され、
この分野の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">事実上の標準</anchor>となっています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CKAN</anchor> 本家のドキュメント:</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> 
<cite xml:lang="en">API guide — <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CKAN</anchor> 2.10.4 documentation</cite>, <time>2024-03-13T10:50:27.000Z</time>, <time>2024-04-13T12:32:27.540Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://docs.ckan.org/en/2.10/api/index.html">https://docs.ckan.org/en/2.10/api/index.html</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> 
<cite xml:lang="en">API guide — <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CKAN</anchor> 2.10.4 documentation</cite>, <time>2024-03-13T10:50:27.000Z</time>, <time>2024-04-13T12:45:49.135Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://docs.ckan.org/en/2.10/api/index.html#ckan.logic.action.get.package_list">https://docs.ckan.org/en/2.10/api/index.html#ckan.logic.action.get.package_list</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> 
<cite xml:lang="en">API guide — <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CKAN</anchor> 2.10.4 documentation</cite>, <time>2024-03-13T10:50:27.000Z</time>, <time>2024-04-13T12:47:09.552Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://docs.ckan.org/en/2.10/api/index.html#ckan.logic.action.get.package_show">https://docs.ckan.org/en/2.10/api/index.html#ckan.logic.action.get.package_show</anchor-external></li></ul></li></ul></refs><section><h1>URL</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 
<code>http://demo.ckan.org/api/3/action/package_list</code>
のような <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パッケージ</anchor>の一覧を、
<code>http://demo.ckan.org/api/3/action/package_show?id=adur_district_spending</code>
のような <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> で特定の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パッケージ</anchor>の情報を取得できます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;15</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 
<code>3</code>
は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">版番号</anchor>を表しますが、省略できます。つまり
<code>http://demo.ckan.org/api/action/package_list</code>
でもアクセスできます。
普通はこれで十分です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 
表示用のページは <code>body</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>に
<code>data-site-root</code>
属性があって、トップページの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">絶対URL</anchor>
が入っています。
これに <code>/api/</code> 以下をつなげると <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> になります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> 
多くのサイトは
<code>data-site-root</code>
が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>の
<code>/</code>
になっていますが、そうでない下位の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>に割り当てられているケースもしばしば遭遇します。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> 
また、
<code>data-site-root</code> 
の後に 
<code>ja/</code>
のように<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">言語</anchor>を指定した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>が続く <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> でもアクセス可能です。
この場合のトップページは <code>body</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の
<code>data-locale-root</code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> になります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> はこちらの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> を使ってもアクセスできますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">言語</anchor>がない場合と(おそらく)同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>を返していると思われます。</p><section><h1>発見</h1><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite xml:lang="ja">データセット - 公共交通オープンデータセンター データカタログサイト</cite>, <time>2024-04-21T09:09:50.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://ckan.odpt.org/dataset">https://ckan.odpt.org/dataset</anchor-external></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal> このサイトは
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://ckan.odpt.org/api/">https://ckan.odpt.org/api/</anchor-external>
以下がすべて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リダイレクト</anchor>になっています。
意図的に潰されているように感じられます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal> このサイトはそもそも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CKAN</anchor> の仕組みをほとんど使っておらず、
データファイルのある <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> を説明文に書いています
(大部分はアクセスが要申請で、ライセンスも非 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OSS</anchor>)。</p></section><section><h1>プロトコル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> 
未だに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素のHTTP</anchor>のみを使ってアクセスできるサーバーが稼働しているので注意が必要です。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>CKAN</anchor> </sw-see></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非保安輸送路</anchor>経由で取得した情報は、通常の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">保安輸送路</anchor>経由の情報と区別して、信頼できない情報として取り扱う必要があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS</anchor>
でも、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> 経由で取得した <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> が <code>http:</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> のこともあり、注意が必要です。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>CKAN資源</anchor> </sw-see></p></section></section><section><h1>応答</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> 
正常な場合 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> <code>200</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> データが返されます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;15</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>で、次の値を持ちます。</p><figure class="list members"><dl><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">success</code></f></dt><dd>成功した場合は <code>true</code> となります。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;15</anchor-internal></src></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">result</code></f></dt><dd>結果になります。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;15</anchor-internal></src></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">help</code></f></dt><dd>
説明ページの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> です。
実際のサーバーの応答を見ると、
外部からはアクセスできない内部的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>になっていることがしばしばあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">逆プロキシ</anchor>など実際のネットワーク構成が設定に反映されていないのでしょう。
そのまま放置されているのは、誰も使っていない (し何に使うのかもよくわからないのでどうでもいい) 
ということなのでしょう。</dd></dl></figure></section><section><h1>エンドポイント</h1><section><h1><code>package_list</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <code>package_list</code> には <code>offset</code>, <code>limit</code> を指定できます。
どちらも整数です。どちらも省略可能です。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;20</anchor-internal></src></p></section><section><h1><code>package_show</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <code>package_show</code> には <code>id</code> を指定します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ集合</anchor>の ID または名前を表します。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;20</anchor-internal></src></p></section></section><section><h1>パッケージ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 今の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CKAN</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">dataset</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ集合</anchor>) と呼んでいるものが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">package</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パッケージ</anchor>) と呼ばれています。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>CKANパッケージ</anchor> </sw-see></p></section><section><h1>他の実装</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 
<cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データカタログ横断検索システム</anchor></cite>
は
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CKAN API</anchor>
の一部と互換性のある独自の実装をしています。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal></src>
表示ページの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL path</title></anchor> 
の関係性が本家 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CKAN</anchor> とは少し違います。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 
ほとんど同じなのに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> が微妙に違うのが使いづらいよねえ。
なんでこんなのにしたんだろ?
それとも昔は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CKAN API</anchor> もそうだったのかな、そうだとしたら <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CKAN</anchor>
が邪悪ってことになるけど。どっちだろ?</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 
<cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データカタログ横断検索システム</anchor> - データカタログ横断システム</cite>, <time>2024-04-27T03:37:59.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://search.ckan.jp/api">https://search.ckan.jp/api</anchor-external></li></ul></refs></section><section><h1>メモ</h1></section></body></html>