2020.01.03 サーバ負荷が大きいためAPIサービスを停止しています
APIを自分のサーバに用意するプログラムを無料公開しました。
このプログラムのサポートは一切ありません。
このプログラムの使用により問題が発生しても一切の責任を負いません。
ご自身の責任で利用できる方のみダウンロードしてご使用ください。
従来運用していたXML/JSONデータと同一のデータを出力するプログラムをダウンロードできます。
【環境】PHP、MySQL(もしくはMariaDB)
【注意】このプログラムに関するサポートはありません。
このプログラムに関するいかなる質問にも回答いたしません。
1.PHPとMySQL(もしくはMariaDB)が動作するサーバを用意します。
データベースの文字コードは「utf8_general_ci」
2.データベースにテーブルを作成します。 テーブル定義は、こちらのページ参照
テーブル作成SQLはこちら ※「仕様書」よりカラム数が多いですが、予備です。
MySQLの設定によってはdate型にDEFAULT NULLは使用できません。
3.「XML/JSON 出力プログラム」をダウンロードします
4.「main.php」にデータベースの接続情報の記入がありますので、そちらに作成したデータベース情報を記入します。
5.以下のディレクトリ構成でファイルをアップします。(改造してもかまいません)
/main.php
/output_api.php
/api/p/ [権限777]
/api/l/ [権限777]
/api/s/ [権限777]
/api/g/ [権限777]
/api/n/ [権限777]
※フォルダの権限にご注意ください。
以上で事前準備は完了です。
1.駅データ.jpからデータをCSVダウンロードします。(無料データ、有料データ、どちらも可能です)
2.ダウンロードしたデータをご自身で用意したデータベースにインポートします。
3.ブラウザから「main.php」にアクセスします。
4.表示された出力ボタンをクリックすると、JSON/XMLファイルを出力します。
このプログラムは、サーバ負荷を最小限に抑えるため、静的なJSON/XMLファイルを作成しています。
サーバの負荷を気にしないなら、このプログラムを改造し、動的にJSON/XMLファイルを生成できるようにしたほうが運用は楽です。
出力フォルダを変更したい場合は「output_api.php」の、はじめの1~10行目あたりを書き換えてください。
JSONもしくはXMLの片方のみ必要で、もう片方の出力をしたくない場合は、「output_api.php」の途中に「//ファイル作成」と書かれている個所を適当に削除してください。
いまさらですが、JSONと記載していますが、記述はJavascriptです。正式なJSON形式で出力させるには、「output_api.php」でデータベースから取得したデータを配列($array)に格納後、「$json=json_encode($array)」で終了です。正直こちらのほうが使い勝手はいいと思います。
出力したファイルの権限を666(chmod ($make_file, 0666);)にしていますが、しなくてもよいかもしれません。
無料公開版は「新幹線」は出力していませんでしたが、改造により「新幹線」も出力可能にできます。
具体的には「output_api.php」の「station_cd > 1000000」という内容で新幹線の出力を制限しています。
有料会員の方はぜひ新幹線も出力できるように改造してみてください。
※新幹線データは有料版でダウンロード可能です。
Q:改造してかまいませんか
A:かまいません
Q:自由に使用してかまいませんか
A:かまいません
Q:このプログラムを販売してもかまいませんか
A:かまいませんが、以下の内容を販売先に提示してください。
(1)「駅データ.jp」のデータ、プログラムを利用していること
(2)「駅データ.jp」のURL(https://ekidata.jp/)
Q:ライセンス表記は必要ですか
A:不要ですが、販売するときは、以下の内容を販売先に提示してください。
(1)「駅データ.jp」のデータを利用していること
(2)「駅データ.jp」のURL(https://ekidata.jp/)
Q:使用、改造、販売に駅データ.jpに連絡が必要ですか
A:不要です
Q:自分のサーバに、駅データ.jpのデータを利用したAPIを自由に利用できるサービスを作成し、公開してもかまいませんか
A:かまいませんが、無料で公開した場合、数年後に相当量のアクセスがあることを覚悟してください
Q:自分のサーバに、駅データ.jpのデータを利用したAPIを有料で利用できるサービスを作成し、販売してもかまいませんか
A:かまいませんが、以下の内容を有料サービス提供先に提示してください。
(1)「駅データ.jp」のデータを利用していること
(2)「駅データ.jp」のURL(https://ekidata.jp/)
Q:「有料サービス提供元」に提示とありますが、WEBサイトに表記する必要はありますか?
A:「販売先に提示」だけで十分です。
BtoB販売の場合は、契約書やメール等で通知を行えば十分です。WEBサイトに表記は不要です。
BtoC販売の場合は、そのサービスを提供するWEBサイトに表記してください。
Q:不動産情報の検索サイトを運用しています。不動産の検索サービスは有料で提供していますが、その中に駅データjpのAPIを使用してサービスを提供していますが、この場合ライセンス表記は必要ですか?
A:不要です。
駅データ.jpのAPIプログラムを使用して別のサービスを提供する場合、表記不要です。
駅データ.jpのAPIプログラムをメインのサービスとして販売する場合、表記必要です。
Q:改造の質問がしたい
A:このプログラムのサポートは行いません。一切回答いたしません。
Q:このプログラムを教材や勉強などで使用したい
A:かまいません