Google Batchupdate листов Ошибка неверного значения - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь обновить Google Docs. Проблема в том, что он возвращается с ошибкой:

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' ] ]

Работает просто отлично. Таким образом, данные имеют ту же форму двумерного массива, что и другие, единственное отличие - это другой диапазон, но с диапазоном проблем не должно быть вообще, он работает с другими данными в том же диапазоне, что и предположительно ошибочные данные. не принято просто отлично !!!

Я не знаю, что я делаю неправильно. Данные имеют ту же форму, но просто не примут ее по какой-либо причине!

Я абсолютно уверен, что не делаю ничего плохого, просто он как-то не работает !!!

EDIT:

Просто чтобы быть уверенным, что вы понимаете мою проблему:

Не работает:

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"

Я действительно сейчас подвергаю сомнению свое здравомыслие ...

...