APIって使ったことある? #2
こんばんは皆さま。題目について、昨日もお答えした通り、私は使ったことないです(笑)
ただ昨日、GraphiQL(グラフィカル) を使って、Web上でAPIを試すことができることを知りました!
まだ見てないよって方へ、記事はこちらです。
そこで本日は、「GraphiQLでAPIを使ってみる」の続編です!
昨日は「検索」や「カタログ情報の取得」をやってみたのですが、まだまだ機能があるそうで、そちらを試してみます。
▼この記事を読んで分かること
- 国交DPFの利用者APIにはどんな機能があるのか(GraphiQLを利用しながら)
この記事は国交DPFアドベントカレンダー2023 に参加しています。本日7日目です。
クリスマスまで1日ずつ公開される記事を読み進めることで、国交DPFというものを理解し、APIまで使いこなせるようになれるという、超素敵企画です!
12/9以降は、APIを使ってもっとこんなことができるという事例紹介が始まるので、昨日今日でAPI耐性をつけて挑みましょう(笑)
GraphiQLでAPIを使ってみる
本日は、GraphiQLを使って、「データ取得」「ファイルURL検索」「キーワードサジェスト」「コード情報取得」をしてみます。
まずはGraphiQLを開きます。
データ取得(data)
データ ID を元にデータのメタ情報を取得できるそうです。
つまり、データIDが分かっている場合は「データ取得」、データIDが分からない場合は「検索」で、データの詳細情報を取得するという使い分けなようです。
やってみましょう。
昨日、「橋梁」というキーワード検索結果のうち上位5件の情報(id,title)を表示してみたので、その最上位のデータ「滝の平橋」のIDを用いて「データ取得」してみます。
ただ、データ取得には、データセットIDとデータIDが必要なようです。ん~、検索してみます!
query {
search(term:"橋梁", phraseMatch:true, first:0, size:5) {
totalNumber
searchResults {
id
title
dataset_id
}
}
}
これより、「滝の平橋」のデータセットIDはrsdb_bridge、IDは094805ac-c39b-4ca6-9a25-f03e113f161fと分かりました。
検索は昨日学んだので、スムーズにできました^^
では、データセットIDとデータIDを設定して、データ取得してみます。
query {
data(
dataSetID: "rsdb_bridge"
dataID: "094805ac-c39b-4ca6-9a25-f03e113f161f"
) {
totalNumber
getDataResults{
title
}
}
}
たしかに、「滝の平橋」と検索されましたね!
ファイル URL検索
ファイル ID を元にファイルのダウンロード URL を取得できるそうです。
つまり、今度はファイルIDが必要ですね。ん~、検索してみます!
次は、付属ファイルがありそうな「工事」というキーワードで検索してみます。
query {
search(term:"工事", phraseMatch:true, first:0, size:5) {
totalNumber
searchResults {
id
title
dataset_id
files {
id
original_path
}
}
}
}
お!上から3つ目のデータはファイルを持っているようです!
ではこれのダウンロードURLを取得してみます。ファイルIDとパスをコピペして・・
query {
fileDownloadURLs(
files:[
{
id: "cals/cals_construction/1-2-45434/files/02104/DATA_C_C/Y2015/6.0-02104112-158448401005/INDEX_C.XML",
original_path: "files/02104/DATA_C_C/Y2015/6.0-02104112-158448401005/INDEX_C.XML"
}
]
) {
ID
URL
}
}
URLらしきものが出力されました!!!!これをWebに貼り付けたら・・・XMLファイルがダウンロードされました!!!へ~~~こんなことができるんですね。
コード情報取得
都道府県コードと都道府県名を取得できるそうです。
やってみましょう。
全ての都道府県コードと都道府県名を取得してみます。
query {
prefecture {
code
name
}
}
でました!北海道から1番ですね。
締め
APIドキュメントを見ながらできました。
できましたが、正直活用方法が私にはわかりません(笑)
ただAPI初心者、2日間で国交DPFの利用者APIを用いてどんなデータ検索ができるのか学びました!おおきな一歩です!
この先APIを用いて、どんなことができるのかについては別の方へバトンタッチします!!!引き続き国交DPFアドカレをお楽しみに!
それでは、お疲れ様でした。