datapingpongのapiを作りました
先日apiとかねえの?って聞かれたので調べてみると、Cloud Functionsで簡単に実装できそうだったので作ってみました。 ※エンジニア向けの記事になりますのでご注意ください。
個人のブログで申し訳ありませんが、使用方法の説明をします。
- アクセス先
https://us-central1-datapingpong-vue.cloudfunctions.net/gameData?id={game_id}
※ game_idはdatapingpongで生成する共有URLの後方20桁の文字列です。
例 https://datapingpong.com/#/share/9rHCYjMiDulGCB2o3bTH → 9rHCYjMiDulGCB2o3bTH
また、試合データの公開設定が「リンクを知っている人に公開する」となっているデータのみ対象です。
- HTTPメソッド
GET
- 返却データ形式
正常時のレスポンス項目 2019/8/21 時点
key | value | 備考 |
---|---|---|
getPointPlayer | ポイントごとにどちらのプレイヤーが得点したかを表す | 1:player1の得点、2 : player2の得点 |
rallyCnt | ポイントごとに何本ラリーが続いたかを表す | |
player1 | player1の選手名 | |
player2 | player2の選手名 | |
matchName | 試合名 | |
firstGamseServer | 1ゲーム目のサーバーを表す | 1:player1がサーブ、2:player2がサーブ |
memo | 試合のメモ |
game_idが不正及び非公開のデータとなっている場合のレスポンス項目
key | value |
---|---|
message | 公開されているデータがありません |
サーバー側でエラーが発生した場合のレスポンス項目
key | value |
---|---|
message | エラーが発生しました。お問い合わせください。 |
以上がレスポンス内容です。ここから減ることはないと思いますが、レスポンス項目が増えることはあると思います。増えればその都度、更新していきます。
最後にpythonでデータを取得するコードを例として記載します。
import requests import json game_id = "9rHCYjMiDulGCB2o3bTH" data = requests.get("https://us-central1-datapingpong-vue.cloudfunctions.net/gameData?id={}".format(game_id)) data = json.loads(data.text) print(data)
追加して欲しい返却項目があれば、お知らせください。
12.5万/月を超えるアクセスが発生すると、利用停止となります。あんまりいじめないでください。