APIを使う

G空間情報センター API利用マニュアル
2018年5月 一般社団法人社会基盤情報流通推進協議会
内容
- APIとは
- APIキーおよびIDの確認
- 2-1. ユーザAPIキーおよびユーザIDの確認
- 2-2. 組織IDの確認
- 2-3. カテゴリIDの確認
- 2-4. データセットIDの確認
- 2-5. リソースIDの確認
- APIの一覧
- APIの利用例
- 4-1. APIを利用した情報の取得例
- (ア)組織に関するメタデータの取得
- (イ)カテゴリに関するメタデータの取得
- (ウ)タグに関するメタデータの取得
- (エ)データセットやリソースに関するメタデータの取得
- (オ)フォロー機能に関するメタデータの取得
- (カ)ダッシュボードに関するメタデータの取得
- (キ)CKANの設定に関するメタデータの取得
- 4-2. プライベートデータのメタデータ取得
- 4-3. APIを利用した登録、更新、削除例
- (ア)データセットに関する更新
- (イ)リソースおよびリソースビューに関する更新
- (ウ)フォローに関する更新
- 4-4. データセット作成・編集時のバリデーションチェック
- (ア)必須・任意項目表
- (イ)データセット登録時のAPI例
- 4-1. APIを利用した情報の取得例
1.APIとは
G空間情報センターではシステム連携を実現するため、各システムから共通で使用可能なG空間情報センターのAPI(Application Programming Interface、以降APIといいます)を提供しています。API は、URL+引数で構成されています。一例として、ブラウザ上でAPI のURL を指定すると、実行結果が表示されます。

2. API キーおよびID の確認
2-1.ユーザAPI キーおよびユーザIDの確認
G空間情報センターではユーザごとにAPI キーを保持しています。API には情報取得機能と情報編集機能があり、プライベートデータセットの情報取得には閲覧権限のあるユーザのAPIキーが必要となり、情報編集には編集権限のあるユーザのAPI キーが必要となります。
以下のURL を入力してユーザプロパティ画面を開き、画面左下に記載されているユーザ別のAPI キーを確認します。
https://www.geospatial.jp/ckan/user/<ユーザ名>
また、ユーザ名=ユーザID として、ユーザID を引数に指定するAPIが利用できます。

2-2.組織IDの確認
APIの引数に指定する組織IDは組織情報表示時のURLで確認します。

2-3.カテゴリIDの確認
APIの引数に指定するカテゴリIDは、カテゴリ情報表示時のURLで確認します。

2-4.データセットIDの確認
APIの引数に指定するデータセットIDは、データセット情報表示時のURLで確認します。

2-5.リソースIDの確認
APIの引数に指定するリソースIDは、リソース情報表示時のURLで確認します。

3.APIの一覧
G空間情報センターで提供されるAPIの一覧です。
組織関連
API組織一覧を取得する
nameでソートする場合は「name」、データセット数でソートする場合は「packages」を指定する
取得する組織の名称を指定する
すべてメタデータ項目を取得する場合は「true」、「name」のみを取得する場合は「false」を指定する
API組織の詳細を取得する
取得する組織の「id」または、「name」を指定する
API組織更新履歴を取得する
取得する組織の「id」または、「name」を指定する
API組織のリビジョン履歴を取得する
データセットの「id」または、「name」を指定する
API検索文字列に一致する組織の一覧を取得する
検索クエリを指定する
取得する最大の組織件数を指定する
API組織の更新履歴をhtml形式で取得する
組織の「id」または、「name」を指定する
カテゴリ関連
APIカテゴリ一覧を取得する
nameでソートする場合は「name」、データセット数でソートする場合は「packages」を指定する
取得するグループの名称を指定する
すべてメタデータ項目を取得する場合は「true」、「name」のみを取得する場合は「false」を指定する
APIカテゴリの詳細を取得する
取得するカテゴリの「id」を指定する
APIグループのデータセット一覧を取得する
取得するグループの「id」または、「name」を指定する
取得する最大のグループ数を指定する
APIカテゴリ更新履歴を取得する
取得するカテゴリの「id」または、「name」を指定する
取得する最大のアクティビティ数を指定する
取得するオフセットの番号を指定する
API編集権限をもつカテゴリの一覧を取得する
「True」の場合はログインユーザが所属するグループのみが返却され、「False」の場合はユーザの「name」または「id」を指定する
APIカテゴリのリビジョン履歴を取得する
カテゴリの「id」または、「name」を指定する
APIカテゴリの更新履歴をhtml形式で取得する
カテゴリの「id」または「name」を指定する
取得する最大の更新履歴件数を指定する
取得するオフセットの番号を指定する
タグ関連
APIタグ一覧を取得する
取得するタグに含まれる文字列を指定する
すべてメタデータ項目を取得する場合は「true」、「name」のみを取得する場合は「false」を指定する
APIタグの詳細を取得する
取得するタグの「id」または、「name」を指定する
API指定した文字列が含まれたタグを検索する
検索する文字列を指定する
取得する最大のタグ数を指定する
取得するオフセットの番号を指定する
API検索文字列に一致するタグの一覧を取得する
検索クエリを指定する
取得する最大のタグ件数を指定する
limitを指定している場合、取得するオフセットの番号を指定する
データセット・リソース関連
APIデータセット一覧を取得する
APIデータセット一覧(リソースを含む)を取得する
取得する最大のデータセット件数を指定する
「limit」の値で複数ページに分割されたデータセット一覧から、返却対象とするページの番号を指定する
APIデータセットを検索する
データセットの検索クエリを指定する
検索フィルターを指定する
データセット一覧のソート順を指定する
注:フィールド名称とソート順(「asc」または「desc」)を半角スペース区切リで設定し、複数のソート順を設定する場合はパラメータをカンマ区切りで与えること
取得するデータセット数を指定する
複数ページに分割されたデータセット一覧を表示する場合、表示を開始するページ番号を指定する
ファセットを有効化する場合は「true」、無効化する場合は「false」を指定する
ファセットが含むデータセットの最小数を指定する
この値よりもファセットが含むデータセット数が少ない場合は、そのファセットは表示されない
ファセットの最大取得数を指定する。0より小さい値を指定した場合は全て取得される
ファセットを生成する対象のフィールド名を指定する。指定しなかった場合、ファセットは空値で返却される
APIデータセットの詳細を取得する
取得するデータセットの「id」または、「name」を指定する
APIリソースの詳細を取得する
取得するリソースの「id」を指定する
APIリソースを検索する
リソースの検索クエリを指定する
リソース一覧のソート順を指定する
取得する最大のデータセット件数を指定する
取得するオフセットの番号を指定する
APIデータセット更新履歴を取得する
取得するデータセットの「id」または、「name」を指定する
取得する最大のアクティビティ数を指定する
取得するオフセットの番号を指定する
APIデータセットのリビジョン履歴を取得する
取得するデータセットの「id」または、「name」を指定する
API最近更新されたデータセット履歴を取得する
取得する最大のアクティビティ数を指定する
取得するオフセットの番号を指定する
APIデータセットの更新履歴をhtml形式で取得する
データセットの「id」または「name」を指定する
取得する最大の更新履歴件数を指定する
取得するオフセットの番号を指定する
API指定したデータセットと他のデータセットとの関係の一覧を取得する
一つ目のデータセットの「id」または「name」を指定する
二つ目のデータセットの「id」または「name」を指定する
リレーションシップタイプを指定する
APIリソースビューの詳細を取得する
リソースビューの「id」を指定する
API特定リソースのリソースビューの一覧を取得する
リソースの「id」を指定する
API検索文字列に一致するデータセットの一覧を取得する
検索クエリを指定する
取得する最大のリソース件数を指定する
API検索文字列に一致する拡張子の一覧を取得する
検索クエリを指定する
取得する最大の拡張子件数を指定する
APIライセンス一覧を取得する
フォロー機能関連
API指定したユーザのフォロワー人数を取得する
ユーザの「id」または、「name」を指定する
API指定したデータセットのフォロワー人数を取得する
データセットの「id」または、「name」を指定する
API指定したカテゴリのフォロワー人数を取得する
カテゴリの「id」または、「name」を指定する
API指定した組織のフォロワー人数を取得する
組織の「id」または、「name」を指定する
API指定したデータセットのフォロー状況を取得する
データセットの「id」または、「name」を指定する
API指定したカテゴリのフォロー状況を取得する
カテゴリの「id」または、「name」を指定する
API指定したユーザがフォローしている数を取得する
ユーザの「id」を指定する
API指定したユーザがフォローしているデータセット数を取得する
ユーザの「id」を指定する
API指定したユーザがフォローしているカテゴリ数を取得する
ユーザの「id」を指定する
API指定したユーザのフォロー一覧を取得する
ユーザの「id」を指定する
検索クエリを指定する
API指定したユーザのデータセットフォロー一覧を取得する
ユーザの「id」または、「name」を指定する
API指定したユーザのグループフォロー一覧を取得する
ユーザの「id」または、「name」を指定する
API指定したユーザの組織フォロー一覧を取得する
ユーザの「id」または、「name」を指定する
ダッシュボード関連
APIダッシュボードの更新履歴の一覧を取得する
取得する最大のアクティビティ数を指定する
取得するオフセットの番号を指定する
APIダッシュボードの更新履歴の一覧をhtml形式で取得する
取得する最大のアクティビティ数を指定する
取得するオフセットの番号を指定する
APIダッシュボード内の新着数を取得する
CKAN設定関連
APIサイトのリビジョン履歴を取得する
APIリビジョンの詳細を取得する
リビジョンの「id」を指定する
APICKANの設定情報と拡張機能の一覧を取得する
API指定した更新情報の詳細を取得する
更新情報の「id」を指定する
API指定したAPIのヘルプを取得する
検索対象のAPI名称を指定する
APICKANの設定情報を取得する
API指定したCKAN設定情報の詳細を取得する
検索対象のCKAN設定項目名を指定する
データセット更新関連
API新規データセットを作成する
新規データセットの菜目を指定する。長さは2~100文字で、小文字の半角英数字および半角
新規データセットのタイトルを指定する。デフォルト値は菜目と同様である
trueを指定したい場合、作成するデータセットはプライベート扱いとなる
データセットの作成者の名称を指定する
データセットの作成者のE-mailアドレスを指定する
データセットのメンテナーの名称を指定する
データセットのメンテナーのメールアドレスを指定する
データセットのライセンスIDを指定する
データセットに関する説明を指定する
データセットのソースURLを指定する
データセットのバージョンを指定する。100文字以下でなければならない
データセットのステータスを指定する。デフォルト:アクティブ
作成するデータセットのタイプを指定する
データセットのタグを指定する
データセットが属するグループを指定する
データセットを所有する組織のIDを指定する
データセットの領域を指定する。本パラメータを指定させると、地図でのデータセット検索でヒットさせることが可能である
データセットの品質を指定する。本パラメータはG空間情報センター固有である
データセットの制約を指定する。本パラメータはG空間情報センター固有である
データセットの作成日時を指定する。本パラメータはG空間情報センター固有である
データセットが有償・無償の区分を指定する。本パラメータはG空間情報センター固有である
値:有償、無償
災害発生時におけるデータセットの取り扱いを指定する。本パラメータはG空間情報センター固有である
値:無償提供、条件付き無償提供、設定なし
データセットの地理的範囲を指定する。本パラメータはG空間情報センター固有である
データセットが有償の場合に価格情報を指定する。本パラメータはG空間情報センター固有である
データセットの使用許諾を指定する。本パラメータはG空間情報センター固有である
API特定のデータセットを更新する
更新対象のデータセット名あるいはデータセットIDを指定する
注意事項:API経由でデータセットを更新すると、配下のリソースが削除される。また、データセット作成時に入力していたパラメータ値が未設定の場合、それらのパラメータ値はnullとなる
API特定のデータセットを削除する
削除対象のデータセット名あるいはデータセットIDを指定する
リソース・リソースビュー更新関連
API新規リソースを作成する
リソースを追加するデータセットのIDを指定する
登録したいファイルのパスあるいは外部URLを指定する
リソースに関する説明を指定する
リソースの拡張子を指定する
リソースのタイトルを指定する
リソースのメタデータ形式を指定する。本パラメータはG空間情報センター固有である
リソースが空間データの場合に座標参照系を指定する
リソースが有償データの場合に標準価格をしている。本パラメータはG空間情報センター固有である
リソースを使用するにあたって留意すべき注意事項を指定する。本パラメータはG空間情報センター固有である
リソースの利用規約を指定する。本パラメータはG空間情報センター固有である
リソースが有償の場合、購入データの選択単位を指定する
値:空間、時間、時空間
API新規リソースビューを作成する
リソースのIDを指定する
ビューのタイトルを指定する
ビューに関する説明を指定する
ビューのタイプを指定する
API特定のリソースを更新する
更新対象のリソースIDを指定する
API特定のリソースビューを更新する
更新対象のリソースビューIDを指定する
API特定のリソースを削除する
削除対象のリソースIDを指定する
API特定のリソースビューを削除する
削除対象のリソースビューIDを指定する
フォロー更新関連
API特定のユーザをフォローする
フォロー対象のユーザ名あるいはユーザIDを指定する
API特定のデータセットをフォローする
フォロー対象のデータセット名あるいはデータセットIDを指定する
API特定のカテゴリをフォローする
フォロー対象のカテゴリ名あるいはカテゴリIDを指定する
API特定のユーザのフォローを中止する
フォローを中止するユーザ名あるいはユーザIDを指定する
API特定のデータセットのフォローを中止する
フォローを中止するデータセット名あるいはデータセットIDを指定する
API特定のカテゴリのフォローを中止する
フォローを中止するカテゴリ名あるいはカテゴリIDを指定する
4.APIの利用例
G 空間情報センターのCKANAPI のベースURL は以下の通りです。
https://www.geospatial.jp/ckan/api/3/action/
4.1.API を利用した情報の取得例
引数がある場合は、以下のように指定します。
(ア)組織に関するメタデータの取得
(イ)カテゴリに関するメタデータの取得
(ウ)タグに関するメタデータの取得
※検索結果にフィルターをかける際に、「fq」で指定できない項目があります。
(エ)データセットやリソースに関するメタデータの取得
(オ)フォロー機能に関するメタデータの取得
(カ)ダッシュボードに関するメタデータの取得
(キ)CKANの設定に関するメタデータの取得
(ク)ライセンスID対応表
※APIを使用してデータセットの作成・編集を行う場合は、ライセンスID対応表のlicense_idからライセンスを指定してください。
4-2. プライベートデータのメタデータ取得
プライベートデータの情報を取得する場合は、閲覧権限のあるユーザのAPI キーが必要となります。API キーを使用する場合はcurl コマンドを用い、オプションは以下のように設定します。curl コマンドはwindows のコマンドプロンプト(curl のインストールが必要)やlinuxOS 上で使用します。
引数の指定
API キーの指定
4-3. API を利用した登録、更新、削除例
データの登録、更新、削除 は編集権限を持つユーザのAPI キーが必要となります。
API キーを使用する場合はcurl コマンドを用います。curl コマンドはwindows のコマンドプロンプト(curl のインストールが必要)やlinuxOS 上で使用します。コマンドオプションは以下のように設定します。
引数の指定
API キーの指定
(ア)データセットに関する更新
(イ)リソースおよびリソースビューに関する更新
(ウ)フォローに関する更新
4-4. データセット作成・編集時のバリデーションチェック
(ア)必須・任意項目表
※すでに使用中のURLは使用できません
例:{ “owner_olg”: “aigid” }
true:非公開
false :公開
※指定しなければ公開となります
※連絡の取れるメールアドレスを記入します
※連絡の取れるメールアドレスを記入します
例:
{ “charge”: “無償” }
・有償
・無償
上記のいずれかを選択します
例:
{ “emergency”: “条件付き無償提供” }災害時の無償区分
・設定なし
・条件付き無償提供
・無償提供
上記のいずれかを選択します
例:
{ “area”: “埼玉県_狭山市” }”日本全国””〇〇地方”
(例:北海道、東北、関東、中部、関西、四国、中国、九州)
“都道府県”
(例:北海道, 東京都, 大阪府 など)
“都道府県_市区町村”
(例:埼玉県_川越市, 東京都_渋谷区, 静岡県_静岡市, 奈良県_上北山村 など)
※有償データの場合、基本単位の定価を記入します
(イ)データセット登録時のAPI例
curl https://www.geospatial.jp/ckan/api/3/action/package_create -H “X-CKAN-API-Key: <API キー>” -d @metadata.json metadata.json { “title”: “example”, “name”: “example”, “private”: false, “notes”: “example”, “tags”: [ { “name”: “example” } ], “license_id”: “CC-BY”, “author”: “example”, “author_email”: “example@email.com”, “maintainer”: “example”, “maintainer_email”: “example@email.com”, “registerd_date”: “2024/10/7”, “area”: “埼玉県_川越市”, “owner_org”: “aigid”, “quality”: “example”, “restriction”: “・example”, “charge”: “無償”, “emergency”: “設定なし”, “thumbnail_url”: “https://example.com”, “fee”: “example”, “license_agreement”: “example” }
curl https://www.geospatial.jp/ckan/api/3/action/package_create -H “X-CKAN-API-Key: <API キー>” -d ‘{ “title”: “example”, “name”: “example”, “private”: false, “notes”: “example”, “tags”: [{“name”: “example”}], “license_id”: “CC-BY”, “author”: “example”, “author_email”: “example@email.com”, “maintainer”: “example”, “maintainer_email”: “example@email.com”, “registerd_date”: “2024/10/7”, “area”: “埼玉県_川越市”, “owner_org”: “aigid”, “quality”: “example”, “restriction”: “・example”, “charge”: “無償”, “emergency”: “設定なし”, “thumbnail_url”: “https://example.com”, “fee”: “example”, “license_agreement”: “example” }’