Google表格batchupdate无效值错误

时间:2019-05-19 13:49:56

标签: javascript google-sheets google-sheets-api

我正在尝试更新Google文档表。问题是它返回错误:

The API returned an error: Error: Invalid value at 'data[1].values[0]' (type.googleapis.com/google.protobuf.ListValue), "Play'n Go"

Invalid value at 'data[1].values[1]' (type.googleapis.com/google.protobuf.ListValue), "Play'n Go"

Invalid value at 'data[1].values[2]' (type.googleapis.com/google.protobuf.ListValue), "Pragmatic"

这是批处理更新中记录的数据

[ [ 'Book Of Dead' ], [ 'Moon Princess' ], [ 'Da Vinci\'s Treasure' ] ]

[ [ 'Play\'n Go' ], [ 'Play\'n Go' ], [ 'Pragmatic' ] ]

[ [ '50' ], [ '60' ], [ '70' ] ]

我正确地完成了所有操作,并且应该可以正常工作,但是不成功。

如果我删除此数据及其应该在批量更新中填充的范围

[ [ 'Play\'n Go' ], [ 'Play\'n Go' ], [ 'Pragmatic' ] ]

效果很好。因此,数据具有与其他阵列相同的2D数组形式,只是差异是另一个范围,但是该范围完全没有问题,它可以与相同范围内的其他数据一起工作,因为假定存在错误数据不能接受!!!

我不知道我在做什么错。数据具有相同的格式,但是无论出于什么原因,它都不会接受!

我很确定自己没有做错任何事情,只是以某种方式无法正常工作!!

编辑:

请确保您了解我的问题:

不起作用:

data:[
  {range: 'title!range', values: [['Book Of Dead'], ['Moon Princess'], ['Da Vinci\'s Treasure']]},
  {range: 'title!range', values: [['Play\'n Go'], ['Play\'n Go'], ['Pragmatic']]},
  {range: 'title!range', values: [['50'], ['60'], ['70']]}
]

工作正常

data:[
  {range: 'title!range', values: [['Book Of Dead'],['Moon Princess'],['Da Vinci\'s Treasure' ]]},
  {range: 'title!range', values: [['Book Of Dead'],['Moon Princess'],['Da Vinci\'s Treasure']]},
  {range: 'title!range', values: [['50'],['60'],['70']]}
]

编辑2:我真的很绝望。我将分享更新功能的代码:

vars.providers不起作用...但是将其更改为vars.slots很好。尽管查看日志是相同的结构,但值不同

function updateTheSheet(vars) {
  let title = vars.sheet_title === undefined ? 'Kopie van Bonushunt Template' : vars.sheet_title;
  const sheets = google.sheets({
    version: 'v4',
    auth: oAuth_client
  });

  console.log(getDocsData(`${title}!C7:C`, vars.slots))
  console.log(getDocsData(`${title}!D7:D`, vars.providers))

  sheets.spreadsheets.values.batchUpdate({
    spreadsheetId: 'secret url',
    resource: {
      data: [
        getDocsData(`${title}!C7:C`, vars.slots),
        getDocsData(`${title}!D7:D`, vars.providers),
        ...
      ],
      valueInputOption: 'USER_ENTERED'
    },
    auth: oAuth_client
  }, (err, res) => {
    ...
  });
}

日志输出:

{ range: 'Kopie van Bonushunt Template!C7:C',

  values: [ [ 'Vikings' ], [ 'Book Of Dead' ], [ 'Da Vinci\'s Treasure' ] ] }

{ range: 'Kopie van Bonushunt Template!D7:D',

  values: [ [ 'Netent' ], [ 'Play\'n Go' ], [ 'Pragmatic' ] ] }

The API returned an error: Error: Invalid value at 'data[1].values[0]' (type.googleapis.com/google.protobuf.ListValue), "Netent"

Invalid value at 'data[1].values[1]' (type.googleapis.com/google.protobuf.ListValue), "Play'n Go"

Invalid value at 'data[1].values[2]' (type.googleapis.com/google.protobuf.ListValue), "Pragmatic"

我现在真的在问我的理智...

0 个答案:

没有答案