Я пытаюсь обновить 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"
Я действительно сейчас подвергаю сомнению свое здравомыслие ...