Google Sheets API (Ruby) で update_spreadsheet_value メソッドの引数の意味

前提

以下のようなメソッド実行例です。

便宜上、以降では以下のコメントに基づいて 1つめ、2つ目... という形で引数を呼ぶことにします

service.update_spreadsheet_value(
  sheet_id, # 1つめ
  range, # 2つめ
  value_range_object,  # 3つめ
  value_input_option: 'USER_ENTERED' # 4つめ
)

結論

1. 1つめの引数

シートの ID です。

2. 2つめの引数

書き込みの「始点」です。

range とありますが、実質的には「始点」と考えておいて困ることはないと思います。

イメージで言うならば、実際にシートを操作している際に「選択されている範囲のセル」です。

3. 3つめの引数

以下のようなオブジェクトが入ります。

Google::Apis::SheetsV4::ValueRange.new(values: values)

ここで values こそが書き込む値(の配列)です。values は二次元配列の構造で、「『行に入る値の配列』の配列」が入ります。

CSV で考えるとわかりやすいです。例えば以下のようなCSVの値を入力したいとします。

あ,い,う
1,2,3,4,5,6,7
A,B

これを values で表現すると以下のようになります。

values = [
  ['', '', ''],
  ['1', '2', '3', '4', '5', '6', '7'],
  ['A', 'B'],
]

4. 4つめの引数

キーワード引数となっており、value_input_option: に対して RAWSUSER_ENTERED かを選べます。

前者はたとえば 'true' という値を渡して入力すると true としてシートに入力されます。

後者は同様に入力すると TRUE としてシートに入力されます。こちらの方が人間が入力する場合と同様なのでこちらが良いと思います*1

補足

  • これ以外にもオプションはあります
  • Ruby の例ですが、多言語でも実質的には同じだと思います

*1:文字列にしたい場合は "'true" のように先頭にシングルクォーテーションを付与して渡す

Powered by はてなブログ