Google Sheet API发布Golang

Google Sheet API发布Golang,go,google-sheets,google-sheets-api,Go,Google Sheets,Google Sheets Api,我不知道如何更改一个单元格的值。它在rb变量值上失败。我一直在读文档,在网上搜索,但运气不好 // The ID of the spreadsheet to update. spreadsheetId := "XXXXX" // TODO: Update placeholder value. // The A1 notation of the values to update. range2 := "B2" // TODO: Update placeholder val

我不知道如何更改一个单元格的值。它在rb变量值上失败。我一直在读文档,在网上搜索,但运气不好

// The ID of the spreadsheet to update.
    spreadsheetId := "XXXXX" // TODO: Update placeholder value.

    // The A1 notation of the values to update.
    range2 := "B2" // TODO: Update placeholder value.

    // How the input data should be interpreted.
    valueInputOption := "" // TODO: Update placeholder value.

    rb := &sheets.ValueRange{
        "range":          string,
        "majorDimension": enum(Dimension),
        "values":         []string{"34344",},
    }

    resp, err := sheetsService.Spreadsheets.Values.Update(spreadsheetId, range2, rb).ValueInputOption(valueInputOption).Context(ctx).Do()

我相信你的目标如下

  • 您希望使用googleapis和golang将这些值放入Google电子表格
  • 您已经能够使用Sheets API获取和放置值。
    • 在脚本中,尽管未显示用于授权的脚本,
      sheetsService
      可用于使用Sheets API输入值
对于这个问题,这个答案如何

修改点:
  • 我认为在您的脚本中,
    valueInputOption
    rb
    以及输入值的请求都需要修改。
    • 例如,请将用户输入的
      放入
      值输入选项
    • 关于rb,我认为这是正确的。作为附加修改点,
      []]接口{}
      。在这种情况下,
      majordmension
      使用
      作为示例
    • 关于请求,我认为在这种情况下,
      Context(ctx)
      不是必需的
当上述各点反映到脚本中时,它将变成如下所示

修改脚本: 使用前,请设置电子表格ID

spreadsheetId := "###"
range2 := "b2"
values := [][]interface{}{[]interface{}{"b2", "c2", "d2"}, []interface{}{"b3", "c3", "d3"}}
valueInputOption := "USER_ENTERED"
rb := &sheets.ValueRange{
    MajorDimension: "ROWS",
    Values:         values,
}
resp, err := sheetsService.Spreadsheets.Values.Update(spreadsheetId, range2, rb).ValueInputOption(valueInputOption).Do()
  • sheetsService
    可用于输入值时,当您运行脚本时,
    b2、c2、d2
    b3、c3、d3
    的值将被输入谷歌电子表格第一个选项卡中的单元格“b2:d3”
注:
  • 在这种情况下,
    range2
    是一个符号。例如,当您要将值放入
    Sheet2
    的图纸名称时,请设置
    range2:=“Sheet2!b2”
    。当使用
    range2:=“b2”
    时,该值将放在Google电子表格的第一个选项卡上。请小心这个
  • 作为输入值的范围,在这种情况下,请设置
    https://www.googleapis.com/auth/spreadsheets
参考资料:

当初始化
rb
var时,使用
string
作为
range
的值,但它是一种类型,而不是var的名称。