ishigenの技術ブログ

卓球 機械学習 競ぷろ

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

JSON

正常時のレスポンス項目 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万/月を超えるアクセスが発生すると、利用停止となります。あんまりいじめないでください。