【Unity】SpreadSheetConvertTool 使い方-Editor編-
こちらで公開しているSpreadSheetConvertTool の使い方について解説します。
ツール概要
このツールを簡潔に説明すると、Googleスプレッドシートにあるシートを自分のデータへと変換するコンバータの作成・管理・実行を簡単にしてくれるものです。
このツールで扱われるデータは以下のようになっています。
スプレッドシートConfigは、シートにアクセスするためのOAuth認証情報とスプレッドシートIDを持ちます。また、各シートのコンバータを管理します。上の図のように1つのスプレッドシートに対して1つ作成するイメージです。
コンバータはシート名、対象となるセルの範囲、コンバート後のデータ保存先パスを持ちます。ユーザーは、データを変換するコンバータスクリプトを実装する必要があります。※こちらで解説
ユーザーがGUI上でGoogleSheetの認証情報を設定することで、スプレッドシートConfigを作成した際にツールが自動的にこの情報を適用します。スプレッドシートConfigはこの認証情報を利用してGoogleスプレッドシートにアクセスするためのRequestを発行します。各コンバータは、スプレッドシートConfigからこのRequestを受け取り、自身に設定されているシート名・セル範囲を用いて目的のデータを取得します。
ツールの画面構成は以下のようになっています。
OAuth認証情報の設定
GoogleスプレッドシートのデータにアクセスするためにはAccess Tokenが必要で、これを取得するためのOAuth認証情報が必要になります。事前に以下の情報を取得しておいてください。
- ClientID
- ClientSecret
- RefreshToken
OAuth Configタブを選択すると、各OAuth認証情報を入力するビューが開くので設定してください。Check Configボタンを押すことで、Access Tokenが正常に取得できたかどうかを確認することが可能です。
AccessTokenは、時間がたつと無効になってしまいますが、無効だった場合は自動的に新しいAccessTokenを発行するリクエストを送っているのでアクセスできなくなる心配はありません。ちなみにこういうやり方っていいのでしょうかね・・・?
コンバータConfig
シート名、対象となるセルの範囲、コンバート後のデータ保存先パスを持ちます。
スクリプト生成
サンプルのコンバータを用意してますが、自前のデータへとコンバートするためには、自分で実装する必要があります。以下の手順でコンバータスクリプトを作成します。
※コンバータスクリプトのクラス名は、コンバータ作成時にリストアップされるので、なんのデータへと変換するクラスなのかがわかる命名にしておきましょう
スクリプトの書き方・GoogleSheetAPIClass
コンバータはGoogleSpreadSheetConverterを継承し、Convertメソッドを継承します。上記の手順でスクリプトを生成した際にはコンバータスクリプトのテンプレートが適用されているので、ユーザーはConvertメソッド内に処理を記述します。
SpreadSheetAPIClassは、シートから取得したセルのデータを持つクラスです。セルの行列数・データを持ちます。
Convertメソッドは、コンバータがコンバート実行時に呼ぶメソッドです。SpreadSheetAPIClassを引数に持つので、このデータを利用してコンバート処理を実装します。
編集
主にシート名・セル範囲・コンバート後の保存先を設定します。操作不可になっている部分などは、左上のEditボタン(もしくは右クリック->Edit)で編集モードに切り替えることで編集可能です。コンバータビュー上で右クリック->Deleteでコンバータを削除します。
原則、1つのシートに対して1つのコンバータを作成しますが、命名規則が存在する複数のシートであれば1つのコンバータで複数変換処理をかけることも可能です。(編集中)
コンバートを実行
Convertボタンを押し、コンバートを実行します。実行時にエラーがなければ正常にコンバートが行われます。