スプステージ2 ver1.3.1
スプステージ2は、データの取得からJSONの書き出しまですべてピュアなPHPで実行しています。
サーモンランAPIはこちら
同じサイトなのに開発者が違うので別々のAPIになってます()
スプステージ2の稼働状況: 生きてます
スプステージ2は要望がない限りstat.inkには対応しません。
(理由としては、どうせstat.ink利用者はそっち側により近いAPIを使うだろうから、そういうニーズはそっちに任せてしまおうというのと、僕らは道楽でAPIを作っていて、その目的はあくまで情報を集める事であるから、この対応は不要と考えました。)
長い間停止していたので過去のデータに歯抜けが…追々どっかから拾ってこよう…
流石に2018/08/08 11:00〜2019/01/09 1:00がごっそり抜けてるのは…w
このAPIについて
https://spstage2.splamp.info/regular
https://spstage2.splamp.info/league?timezone=asia/tokyo
とりあえずGETで叩く。jsonが返ってきます。
(実はPOSTでも動作します…それ以外のメソッドでは動かないです)
現時点では日本語のみの対応です。
基本的には前作のやつとほぼ同じですが、構造に関するオプションは削除しました。
httpsに一本化しています。httpで叩いてもhttpsで返ってきます。
Content-Typeは「application/json; charset=UTF-8」となります。
基本的な使い方
https://spstage2.splamp.info/now
現在のステージ情報を取得
https://spstage2.splamp.info/all
過去に開催されたステージ情報をまとめて取得
https://spstage2.splamp.info/?q=バッテラ
開催されたステージの検索
などなど
※ルールを指定せずに取得した場合はルールをごっちゃにして表示するので、これを利用して何かを作る場合はルールごとに分けて取得したほうがいいです。
※修正しました
出力の構造
例:https://spstage2.splamp.info/regular/recent?timezone=jst
基本的な形式。
{ "result": [ { "start": "2021-01-17T17:00:00+09:00", // 開始時刻 ISO-8601形式 "end": "2021-01-17T19:00:00+09:00", // 終了時刻 ISO-8601形式 "start_t": 1610870400, // 開始時刻 UNIXタイムスタンプ "end_t": 1610877600, // 終了時刻 UNIXタイムスタンプ "maps": [ { "id": 2, // ステージ1の番号 "name": "ガンガゼ野外音楽堂" // ステージ1の名前 }, { "id": 19, // ステージ2の番号 "name": "ホテルニューオートロ" // ステージ2の名前 } ], "rule": { "key": "turf_war", // ルール記号 "name": "ナワバリバトル" // ルール名 } } ], ... }
例:https://spstage2.splamp.info/any/now?timezone=jst
複数のルールを一度に取得すると、ルールごとに分けて表示します。
{ "result": { "regular": [ // レギュラーマッチ ... ], "ranked": [ // ガチマッチ { "start": "2021-01-17T17:00:00+09:00", "end": "2021-01-17T19:00:00+09:00", "start_t": 1610870400, "end_t": 1610877600, "maps": [ { "id": 3, "name": "チョウザメ造船" }, { "id": 13, "name": "ザトウマーケット" } ], "rule": { "key": "splat_zones", "name": "ガチエリア" } } ], "league": [ // リーグマッチ ... ] } }
例:https://spstage2.splamp.info/any/now?timezone=jst&mode_mix=true
ルールごとに分けずに表示する事もできます。検索以外ではあまり有用ではないかもです()
{ "result": [ ..., { "start": "2021-01-17T17:00:00+09:00", "end": "2021-01-17T19:00:00+09:00", "start_t": 1610870400, "end_t": 1610877600, "maps": [ { "id": 14, "name": "ハコフグ倉庫" }, { "id": 7, "name": "ホッケふ頭" } ], "mode": { "key": "league", // マッチモード記号 "name": "リーグマッチ" // マッチモード名 }, "rule": { "key": "tower_control", "name": "ガチヤグラ" } } ] }
詳しい使い方
フラグ
オプション
更新履歴
2017/07/23 0.1 試験公開
2017/07/27 0.1.1 ルールを指定して全件取得した場合に順番が狂うバグを修正
2017/07/29 0.2 複数のルールをまとめて取得した場合に、ルールごとに分けて表示するように変更。複数のルールを分けずに表示した場合、"mode" キーを表示する mode_mix オプションを追加
2017/07/30 0.2.1 mode_mix オプション使用時の並び順を変更
2017/07/30 0.2.2 ルールをまとめて取得した場合に過剰に表示してしまうバグを修正
2017/07/30 0.2.3 数字のみで表現される "start_t" "end_t" "id" キーの値を文字列形式から数値形式に変更
2017/07/31 0.3 ステージ一覧・ルール一覧の出力機能を追加。新しいステージが提供開始されたら自動的に追加されます。
2017/08/16 1.0 内部のセッションのコード完成。脱ベータ
2017/08/23 1.0.1 調整
2017/09/10 1.1 Apacheで制御していたリダイレクトやコンテンツ圧縮などをPHPで制御するように変更。コンテンツ圧縮方法を指定する encoding オプションを追加(指定しなかった場合の初期値は自動圧縮)
2017/10/09 1.1.1 一部の環境で encoding オプションを指定しなかった場合に結果が空(0バイト)になるバグを暫定修正(指定しなかった場合の初期値を自動圧縮から圧縮なしに変更)
2017/10/10 1.2 コードをカプセル化(かなり雑に)
2017/10/10 1.2.1 ステージ一覧・ルール一覧を取得しようとした時に結果が「Array」になるバグを修正。ステージ一覧・ルール一覧の "id" の値を文字列形式から数値形式に変更
2017/10/17 1.2.2 mode_mixオプションをtrueにした時にモードの並び順を時間ごとにレギュラー、ガチ、リーグで並べるようにしました。/rulesを表示した時にkeyが数字の0になるバグを修正
2017/10/22 1.2.3 mode_mixオプションの初期値を検索時においてもfalseに変更
2017/11/11 1.3 取得元の仕様変更に応じてデータ取得スクリプトを書き直しました。同時にcURLを導入
2019/01/09 1.3.1 1年以上放置してしまいましたが一旦復旧… encoding オプション未指定時の初期値を自動圧縮に戻しました
今後の開発予定
お問い合わせはTwitterにて
分からないこと等があればお気軽にお問い合わせ下さい。
広報妖怪 @kouhouyoukai ナモすけ @dnm_b
誰か翻訳してくれたらここに翻訳者の名前も載せたいななんて