При попытке выполнить пакетное обновление получено сообщение Invalid JSON error;и попытка строкового преобразования JSON приводит к ошибке «отсутствует documentId».Проблема не в OAuth, области токена или документа, так как все они правильные и функционируют (область действия была изменена с примера только для чтения на полную область документа).
Поскольку нет примера дляНовый API Google для пакетного обновления на узле У меня возникли серьезные проблемы с пакетным обновлением.После некоторого устранения неполадок с конструктором batchUpdate я сузил свою проблему до (потенциально) более крупной проблемы с конструктором URL-адреса API, или мой синтаксис неправильный (или оба). Или я пропускаю шаги для создания соответствующих объектов для вызова API(нет документации для этих задач)
Внутри обратного вызова после успешного получения документа согласно руководству по быстрому запуску узла google (в основном)
let offset = startIndex + 12
let updateObject = {
documentId:doc_id,
requests:
[{
insertTextRequest :
{
text : 'John Doe',
location : {
index : offset
}
}
}]
}
docs.documents.batchUpdate(updateObject,function(e,r){
console.log(e)
console.log(r)
}
Ответ API Google
'Invalid JSON payload received. Unknown name "requests[insertText][location][index]": Cannot bind query parameter. Field \'requests[insertText][location][index]\' could not be found in request message.\nInvalid JSON payload received. Unknown name "requests[insertText][text]": Cannot bind query parameter. Field \'requests[insertText][text]\' could not be found in request message.',
domain: 'global',
reason: 'badRequest' } ] }
Ответ после попытки JSON.stringify (updateObject) - усеченный
Error: Missing required parameters: documentId
at node_modules\googleapis-common\build\src\apirequest.js:114:19
at Generator.next (<anonymous>)
Моя лучшая догадкадля того, чтобы API правильно закодировал объект JSON для успешного выполнения запроса, должно произойти какое-то волшебство google voodoo.
- Изменение массива одного запроса к объекту никак не повлияло на вышеуказанное.
- Использование одинарных / двойных кавычек для имен параметров объекта запроса / строковой переменной не оказало влияния.
- Идентификатор документа - строка, работает, но не sв примере кода.
- Добавление поля documentId к запросу не имело эффекта.