Asa's Website

当サイトの Opendata API の使い方

Table of Contents

Loading...

基本仕様

そのままのデータを取得する

当サイトでは、 Opendata API として API を提供していますが、 API を用いることなく、「そのままの」データも取得することができます。

GraphQL を用いた Opendata API では必要なデータのみを取得することができますが、互換性等の観点からそのままデータを好まれることもあるかと思います。 そのような場合は、以下の手順で取得することができます。

  1. 利用したいオープンデータのページにアクセスします。
  2. ファイルに関する情報・利用時の注意点をよく読み、下にスクロールします。
  3. 「Copy」をクリックすると、掲載されているデータのダウンロードリンクをコピーします。 「Download」をクリックすると、掲載されているURLから生データをダウンロードします。
ダウンロード画面
ダウンロード画面

Opendata API を用いる (推奨)

エンドポイント

GraphQL を用いた Opendata API は、どのようなデータにアクセスする場合でも、以下の単一のエンドポイントです。 JSON 形式でデータが返されます。

https://a01sa01to.com/api/opendata/

Opendata API での通信

GraphQL の操作では、複数行の JSON を扱うことになります。 そのため、 GraphiQL などの GraphQL クライアントを用いて操作することをお勧めします。 cURL などの各種ライブラリを利用することもできます。

Opendata API には、基本的に POST メソッドで通信することになります。 cURL を用いてクエリを送信するには、 JSON のペイロードを持つ POST リクエストを送信してください。 形式は、以下の通りです。 改行文字は適宜エスケープしてください。また、 [YOUR QUERY HERE] の部分については、各ページに掲載されているクエリに置き換えてください。
curl 'https://a01sa01to.com/api/opendata/' -X POST -d '{"query": "[YOUR QUERY HERE]"}'

クエリについて

GraphQL では、クエリに指定されたデータのみを返します。 すなわち、クエリから不要なデータを削除することによって、必要なデータのみ取得することができます。 この結果、データ通信量削減などの効果が期待できます。 返されるデータについては、各データのページを参照してください。

ページ付けについて

当 API では、一部のデータにおいて、多くのデータを複数のページに分けて返す、「ページ付け (Pagination)」機能をサポートしています。

ページ付け機能は、以下の4つの引数のいずれかを指定して利用します。 基本的には、 [before][last] を組み合わせるか、 [first][after] を組み合わせて利用します。
  • before : 指定された cursor よりも前のデータを返す (cursorのデータは含まれない)
  • after : 指定された cursor よりも後のデータを返す (cursorのデータは含まれない)
  • first : 前から数えて、指定された数のデータを返す
  • last : 後ろから数えて、指定された数のデータを返す
cursor は、データの pageinfo から取得できます。 pageinfo で得られるデータは、以下の通りです。
  • hasPreviousPage : 前のページがあるかどうか
  • hasNextPage : 次のページがあるかどうか
  • startCursor : 現在表示しているページの先頭のデータの cursor
  • endCursor : 現在表示しているページの最後のデータの cursor

対応する各データのクエリにおいて、 [PAGINATION INFO] と記述されている部分があるかと思います。 その部分を、以下のように書いてください。 ただし、利用しない引数を削除したり、 [CURSOR] [NUMBER] の部分を置き換えるなど、適宜変更してください。
([PAGINATION INFO])
(before: [CURSOR], after: [CURSOR], first: [NUMBER], last: [NUMBER])
ページ付けの機能が必要なく、すべてのデータを一括で取得する場合は、([PAGINATION INFO])の部分をすべて削除してください。

ページ付け機能のイメージ

ページ付け機能の主な利用法