自分専用の「Apex Legends」トラッカーサイトを作ろう(中編)

2020-03-28

はじめに

プログラミングが全然理解できていない、ど素人が書いたコードです。
一応、意図通りに動いているので公開しますが不具合等ありましたら、すみません。

Google Apps Script

みなさんは Google Apps Script (略称GAS)というサービスをご存知でしょうか?
私は今回このアプリを作るまで知らなかったのですが、ものすごく便利に使うことができるので驚きました。

今回のアプリでは、1日に1回、スプレッドシートへAPIで取得したデータを保存し、その値と現在の値を比較して「今日のキル数」等を算出したいので GAS を使ってスプレッドシートへ書き込むまでを処理していきます。

事前準備

Google Apps Script の使い方や スプレッドシートの使い方自体は今回省かせてもらいますので、ご了承ください。
(解説サイトがたくさんありますので、そちらを参考にしてみてください。)

まずはデータの保存先になるスプレッドシートを作成してください。
私はこのように作成しました。

もう既にデータが入っていますが、B2~D2へ取得した値を書き込むようにします。
(他に1名埋まっていますが、気にしないでください。)

GAS のコード

こちらが前半部分のAPIから情報を取得する部分のコードになります。

前編で使ったPHPのコードと意味合い的にはほとんど一緒なので、そこまで難しくはないと思います。

後半部分にはシートを指定し、どこに書き込むかのコードを追加します。

スプレッドシートのID は事前に用意したシートのURLのこの部分になります。
https://docs.google.com/spreadsheets/d/ここがスプレッドシートのID/edit#gid=0
私の場合はCODの方も同じスプレッドシートで管理しているので、ワークシートも名前で指定してあげています。
上で出した例だと「Apex」と指定してあげます。

あとはAPIで取得した値を指定したセルに書き込むようにすればOKです。
例えば、tk(キル数)をB2に書き込むなら
sheet.getRange(‘B2’).setValue(tk);
となります。

コードをまとめる

ここまでをひとつのファンクションにまとめてあげます。

これで一度実行してみて、指定したスプレッドシートに書き込まれるか試してみてください。

トリガーを指定する

これがGASの大きな特徴で、大変便利なトリガー機能を使っていきます。

1日に1回、自動で実行してスプレッドシートへデータを書き込んでほしいので上の画像のように設定してあげます。
時刻の選択とエラー通知は自分にあったものへ変更してあげてください。

APIもそうですけど、こんな便利なものが無料で誰でも使えるなんてすごいですよね。
この記事ではここまで

朧月夜:Stream Live Now !
朧月夜:Currently Offline