Android / Programming

spreadsheet APIで値を入力する方法 – Android Kotlin

  val sheets = Sheets.Builder(
      NetHttpTransport(),
      GsonFactory.getDefaultInstance(),
      HttpRequestForGoogle(accessToken)
  )
      .setApplicationName("任意のアプリケーション名")
      .build()
      
  val values = ValueRange().setValues(listOf(listOf("test")))
  
  
  sheets.spreadsheets().values().update(
      spreadsheetId,
      "更新したいシートの範囲", // 例: "シート1!A1:A1"
      values,
  )
      .setValueInputOption("USER_ENTERED")
      .execute()

引っ掛かりポイントとしては「setValueInputOption」の設定が必須である部分です。設定を忘れると下記エラーが出力されます。

400 Bad Request
PUT https://sheets.googleapis.com/v4/spreadsheets/指定したid/values/指定した範囲
{
  "code": 400,
  "errors": [
    {
      "domain": "global",
      "message": "'valueInputOption' is required but not specified",
      "reason": "badRequest"
    }
  ],
  "message": "'valueInputOption' is required but not specified",
  "status": "INVALID_ARGUMENT"
}

ValueInputOptionに設定できる値は公式にもありますが、下記に和訳を置いておきます。

EnumsEnumsの訳詳細
USER_ENTEREDユーザー入力UI操作でスプレッドシートに値を入力した場合と同じように、入力した値によってデータの型を変更します。
例えば、文字列「123」は数字として入力されます。
RAW修正なしUSER_ENTEREDのようにデータの型を変更せずに、そのままで値を入力します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です