GASでSalmon Statsに自動アップロードしよう

Javascript

GASとは

GASとはGoogle Apps Scriptの略で、まあ簡単に言えば本来はサーバを借りてやらなければいけないような「定期的実行」の処理を代わりにGoogleがやってくれる仕組みのことです。

定期実行というのは例えば株価変動を読み取ったりだとか、まあそんなことに使えるのですが、これをiksm_sessionが切れるのを防ぐために使おうと考えたのが@Yukinklng氏でした。

iksm_sessionは使わないでいると24時間で切れてしまい、再発行が必要になるのですが定期的にアクセスする仕組みをつくっていれば有効期限を切らさずに済みました。

ただ、定期的にアクセスするためにサーバをわざわざ借りるというのはハードルが高く「サーバ借りてやることがそれだけ」では金を溝に捨てているような感じだったのですね。

ところがGASを利用することができれば初期投資が0でiksm_sessionをいつまでも切らすことなく更新し続けることができるのです。

iksm_sessionの有効期限を切らさないメリット

まず、任天堂のAPI変更に対して全く影響を受けないというのが最大のメリットでしょう。

影響を受けないということは今後アップデートが入っても、Salmon Statsにデータをアップロードし続けることができるということです。

これだけでも導入のメリットとしては高いのではないでしょうか。

導入手順

Googleアカウントが必要になります。持っていない方はいないと思いますが、ない場合はまずは作成しましょう。

iksm_sessionとapi_tokenの取得

GASスクリプトではiksm_sessionとapi_tokenの取得には対応していません。なのでまずはそれらを取得する必要があります。

それらを取得するツールとしてWindows版Salmoniaが使えるので、それを利用してまずは準備を整えましょう。

使い方については以下の動画を参考にどうぞ。

サーモンランリザルト取得ツールの使い方

これでデータを取得するとconfig.json内に必要なデータが書き込まれています。

このうちiksm_sessionとapi-tokenの値を使うのでファイルは開いたままにしておいてください。

新規プロジェクトの作成

左の「新しいプロジェクト」をクリック。

コード.gsの中身を次のスクリプトファイルで上書きします。

スクリプトファイルの作成

下のリンクにあるコードをコピーします。

よく分からん人はこのページの内容を全部コピーしてください。

コピーするとこんな感じになるはずです。なったら保存します。

プロパティの設定

ファイルから「プロジェクトのプロパティ」を選択します。プロジェクト名を決めるように言われますが、何でも構いません。

今回は適当にSalmoniaとしました。

プロジェクトのプロパティを以下のように設定します。

API_TOKENIKSM_SESSIONの値はSalmoniaで取得した値をコピーしましょう。

JOB_NUMは適当に0でも入力しておけばいいと思います。

プロジェクトの実行

タブの「実行」から「関数の実行」で動作させてみましょう。

初めて実行すると上のような許可を求められます。

アカウントを選択しましょう。

左下の「詳細」を押します。

「安全ではないページに移動」をクリックします。

するとコードが実行できるようになります。

設定したトークンなどに問題があると下のようなエラーが表示されます。

何も表示されなければ動作テストは成功です。

トリガーの設定

最後にトリガーを設定して、自動でアップロードしてくれるようにしましょう。

「現在のプロジェクトのトリガー」を選択。

「トリガーを追加」をクリック。

上のように設定して、一分おきに実行されるようにします。まあここは五分おきでもなんでも自分の好きな値にすれば良いと思います。

まとめ

さて、このGASを利用する方法が確立すれば誰でも取得漏れの心配なくサーモンランのリザルトをSalmon Statsにアップロードすることができるようになります。

となれば単純なリザルトアップロードとしてしか機能していないAndroid版のSalmoniaはお役ごめんになりますし、何ならパソコンでこれらを設定する必要がある以上Python版・Windows版も不要になるわけです。

必要なのはiksm_sessionを取得する仕組みなのですが、それに関してはこっそり開発しているSplatNet2 Simulatorをとりあえず使えばいいのではないかと思っています。

最初の設定こそ多少面倒ですが、パソコンが手元にあるサーモンラン勢でSalmon Statsを利用している方であれば絶対に設定しておいたほうがいいと思います。

コメント

  1. 匿名 より:

    新しいプロジェクト>その他>Google Apps Script
    を選ぶと下のように出てきてしまいます、、、
    現在、ファイルを開くことができません。

    アドレスを確認して、もう一度試してください。

    あれもこれも Google ドライブで

    Google ドライブにはドキュメントやスプレッドシート、プレゼンテーションなどを簡単に作成、保存してオンラインで共有できるアプリが揃っています。

    詳細はdrive.google.com/start/appsをご覧ください。

    • えむいー より:

      同様の症状を調べてみたのですが、この方法で解決しないでしょうか?

    • 匿名 より:

      その方法を難解かやってたらできました!!
      ありがとうございます
      僕も調べてそれやってみたんですがね、、、

タイトルとURLをコピーしました