1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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アドカレをお楽しみに!

それでは、お疲れ様でした。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?