【FF14】Universalisの価格情報をGoogle Spreadsheetsで取得する

UniversalisはFF14内のマケボ情報を参照できる外部サービスです。
中身については触れません。
これを使うと、Google Spreadsheet上で暁月の伝説素材や中間素材のNQ/HQでの価格を見れたりします。
あくまで例ですが、下記のようなことができます。

これはSpreadsheet上でギル/軍票の交換効率を管理しています

こういった事にもSpreadsheetが活用できるので、下記にその方法について記していきます。(あくまで私の備忘録です。やり方はもっといい方法があるかもしれませんし、ないかもしれません)



1. Google SpreadsheetのGASに関数を登録する

適当にGoogle Spreadsheetを開いて貰って、下記の通り遷移し関数を登録します。

[拡張機能] → [Apps Script]
こういう画面が開く

Apps Scriptを開いたら下記コードをコピペする(myFunctionの記述は消していいです)

function getPriceById(worldOrDc, id, key) {
  let url = "https://universalis.app/api/";
  let jsonUrl = url + worldOrDc + '/' + id;
  let response = UrlFetchApp.fetch(jsonUrl).getContentText();
  let json = JSON.parse(response);
  /* For example:
   *  1. NQ/HQ問わず最低価格を取得したい場合:     json['minPrice']
   *  2. NQの最低価格を取得したい場合:           json['minPriceNQ']
   *  3. HQの最低価格を取得したい場合:           json['minPriceHQ']
   *  4. NQ/HQ問わず最高価格を取得したい場合:     json['maxPrice']
   *  などなど
   *  参考: https://universalis.app/docs/index.html
   */
  return json[key];
}

Apps Script画面上で保存ボタンを押して保存しておきましょう。


これの使い方の前に基本的なことを下記に書いておきます。

基本的にFF14のアイテムにはItemIdっていうのが付与されています。
例えば、サベネアンコーンをUniversalisで調べると

黃傍線部がItemId

URLが黃傍線部のように「37278」となっています。
これが関数の引数の一つであるItemIdになります。

2. Spreadsheetでの利用例

Spreadsheetではこういう風に使います。

さっきApps Scriptに記載した関数名を普通にセルに書いちゃうとそのreturn値が返ってくる

普通に解説すると
=getPriceById("ワールド名 or DC名", ItemId, "minPriceとかmaxPriceとか")
って感じで書きます。
もうほぼそれ用にしか作っていないのでminPriceとかmaxPriceしか使い道はないです。
関数のところにコメント書いてあるので、参考URLとか見てみてください。

こんな感じで自分の狙い目のアイテムをSpreadsheetに管理して稼いだり色々活用していきましょう!

お し り

いいなと思ったら応援しよう!