WienerWiener
  • はじめに
  • 競合比較
  • 価格・入手
  • FAQ
  • 向いているケース
  • ライセンス
  • Unity Asset版とStandalone版の違い
  • 簡易難読化・改ざん検知
  • 整合性検知・デバッグ
  • ローカライズ
  • バージョン管理
  • Google Sheets入力
  • Excel
  • YAML
  • 設定ファイル
  • データフォーマット
  • マスターデータコンバート
  • ValueOnlyフォーマット
  • スタートアップ
  • サンプル
  • Converter
  • YAML Editor
  • Setting Editor
  • 日本語
  • English
  • はじめに
  • 競合比較
  • 価格・入手
  • FAQ
  • 向いているケース
  • ライセンス
  • Unity Asset版とStandalone版の違い
  • 簡易難読化・改ざん検知
  • 整合性検知・デバッグ
  • ローカライズ
  • バージョン管理
  • Google Sheets入力
  • Excel
  • YAML
  • 設定ファイル
  • データフォーマット
  • マスターデータコンバート
  • ValueOnlyフォーマット
  • スタートアップ
  • サンプル
  • Converter
  • YAML Editor
  • Setting Editor
  • 日本語
  • English
  • 機能

    • 簡易難読化・改ざん検知
    • 整合性検知・デバッグ
    • ローカライズ
    • バージョン管理
    • Google Sheets入力

Google Sheets入力

WienerはExcelファイルの代わりに、Google Sheetsのスプレッドシートを表入力として使用できます。

Google Sheets入力は Standalone版(Wiener.exe など)と Unity Asset版の両方で使用できます。

全体フロー

Google Cloud
  サービスアカウント作成 → JSONキー発行
    ↓
スプレッドシートをサービスアカウントのメールアドレスに共有(閲覧権限)
    ↓
settingsファイルに google_sheets 設定を追加
    ↓
YAMLの input_path にスプレッドシートのURLを指定
    ↓
コンバート実行(xlsx exportで自動取得)

設定手順

1. Google Cloud側の準備

以下の手順でGoogle Cloud側を設定します。

Unity Asset版で使用する場合は、Google Cloud側の準備後に Google Sheetsの設定 を参照してください。

サービスアカウントを作成する

  • サービス アカウントを作成する

Wiener用のサービスアカウントを作成してください。ロールは不要です(スプレッドシートへのアクセスは後述の共有設定で行います)。

認証JSONキーを作成する

  • サービス アカウント キーの作成と削除

サービスアカウントにJSONタイプのキーを作成してダウンロードします。このファイルが認証情報として使用されます。 ファイル名は「wiener-service-account.json」としてください。

重要

認証JSONキーはユーザー毎に作成して規定の場所に保存してください。

またこのファイルは秘密情報です。リポジトリへコミットしないように .gitignore に必ず記載してください。

スプレッドシートを共有する

  • Google Drive のファイル共有

入力対象のスプレッドシートを、サービスアカウントのメールアドレス(xxx@xxx.iam.gserviceaccount.com 形式)に閲覧者として共有します。

2. settingsファイルに google_sheets を追加

google_sheets:
  credential_path: "../secrets/wiener-service-account.json"

各フィールドの詳細は設定ファイルの google_sheets セクションを参照してください。

3. YAMLの input_path にスプレッドシートのURLを指定

スプレッドシートのURLをそのまま path に指定します。

header:
  input_path:
  - path: https://docs.google.com/spreadsheets/d/xxxxxxxx/edit#gid=0
  sheet: SystemText
  row: 5

URLの gid(シートID)は無視されます。sheet フィールドに指定したシート名が使用されます。

ローカルExcelとGoogle Sheetsを同一YAMLで混在させることもできます。

header:
  input_path:
  - path: item/item.xlsm
  - path: https://docs.google.com/spreadsheets/d/xxxxxxxx/edit#gid=0
  sheet: Item
  row: 5

Exportサイズ制限とファイル分割

Google Sheets入力は、Google Drive APIのexport機能でスプレッドシートをxlsxとしてダウンロードしてから読み込みます。Drive APIのexport結果には 10MB制限 があるため、1つのスプレッドシートが大きくなりすぎると取得に失敗します。

大きい表は、用途やID範囲ごとに複数のスプレッドシートへ分割してください。分割したスプレッドシートは同じシート名にしておくと、1つのYAMLの input_path に複数URLを並べて読み込めます。

例として、Item シートを2つのスプレッドシートへ分割します。

ItemMaster_AItemMaster_B
idnameprice
1001Potion50
1002Hi-Potion150
idnameprice
2001Ether300
2002Elixir1000

スプレッドシート名とURLを控えておきます。

スプレッドシート名URL
ItemMaster_Ahttps://docs.google.com/spreadsheets/d/aaaaaaaa/edit#gid=0
ItemMaster_Bhttps://docs.google.com/spreadsheets/d/bbbbbbbb/edit#gid=0

YAMLでは、同じ sheet: Item に対して2つのURLを指定します。

header:
  input_path:
  - path: https://docs.google.com/spreadsheets/d/aaaaaaaa/edit#gid=0
  - path: https://docs.google.com/spreadsheets/d/bbbbbbbb/edit#gid=0
  sheet: Item
  row: 5
  source_type: Normal
  container_type: List
  name: Item
  output_path: item

この指定では、ItemMaster_A と ItemMaster_B の Item シートが順番に読み込まれ、1つのYAML定義として扱われます。

CSV出力

output_format に CSV を指定している場合、Google Sheets入力から読み込んだ通常データは次のパスに出力されます。

csv/GoogleSheets/{header.output_path}/{header.name}_{sheet}_{spreadsheetId}.csv

source_type: Enum のEnumBaseデータは通常データとは別扱いです。Google Sheets入力で読み込んだ場合も csv/EnumBase に出力され、csv/GoogleSheets 以下には出力されません。

チーム開発時の運用

複数人で開発する場合は、共通のサービスアカウントに対して開発者ごとに認証JSONキーを発行し、各自のローカル環境で credential_path に指定します。

認証JSONキーはGitで共有せず、必要に応じてパスワード管理ツールやCI/CDのSecret機能で管理してください。

CI/CDではSecretから認証JSONキーを一時ファイルとして書き出し、そのパスを credential_path に指定する運用を推奨します。

注意事項

  • Google Sheets入力は Standalone版(Wiener.exe など)と Unity Asset版の両方で使用可能
  • ワイルドカードはGoogle Sheets入力では使用できません(ローカルExcel入力のみ対応)
  • URLの gid は無視されます。シート名は必ず sheet フィールドで指定してください
  • Google Sheets入力はスプレッドシートごとにxlsx exportをダウンロードし、ローカルで読み込みます
  • xlsx exportには10MB制限があります。大きい表は複数のスプレッドシートへ分割してください

関連

  • 設定ファイル — google_sheets 設定の詳細
  • YAML Header定義 — input_path の指定方法
  • ローカライズ — 多言語対応との組み合わせ
  • Unity Asset版 Google Sheetsの設定 — Unity Asset版で認証JSONキーを配置・登録する手順
最終更新:: 2026/06/12 2:44
Contributors: artisan-sawasaka
Prev
バージョン管理