Служба недоступна: DOCS при копировании Google Docs - PullRequest
2 голосов
/ 23 сентября 2019

Внезапно возникла одна проблема, из-за которой происходит сбой службы Google DOCS после нескольких вызовов для копирования элементов.Забавно, что на самом деле он копирует первый элемент, но когда он выполняет второй цикл внутри «for», он не может выдать эту ошибку: Служба недоступна: Documents

Этот сценарий работал нормально в течение нескольких месяцев.как мы опубликовали в нашей компании.Неожиданно на прошлой неделе он перестал работать для всех пользователей, независимо от их браузера и т. Д. *

Это скрипт, связанный с электронной таблицей Google (где он получает информацию для создания Google Документов).Но он также завершается ошибкой, если я выполняю или отлаживаю его из консоли Script.

Я попытался после того, как произошел сбой, добавить пару строк для сохранения и закрытия документа на случай, еслипроблема со слишком большим количеством вызовов или буферизацией.

Я проверил, и у проекта есть доступ к Google Docs, Drive и API Карт.

Копируемые элементы верны, так как яможет сделать Logger.Log с ними ...

Это просто не удается, когда он должен скопировать фактический элемент (appendParagraph, append ListItem и т. д ...)

Я включил журналы StackDriverи ошибки, но он не показывает никаких журналов в консоли, просто "не удалось".

Любая подсказка или указания будут очень благодарны!

Спасибо!

function copyDescription(ID,newDoc,newDocID){
var otherBody = DocumentApp.openById(ID).getBody();
newDoc.saveAndClose();
newDoc = DocumentApp.openById(newDocID);
var docbody = newDoc.getBody();

var totalElements = otherBody.getNumChildren();


//Run through template document and copies to the new one
for( var j = 0; j < totalElements; ++j ) {
    var element = otherBody.getChild(j).copy();
    var attributes = otherBody.getChild(j).getAttributes();
    var type = element.getType();


    if (type == DocumentApp.ElementType.PARAGRAPH) {
        if (element.asParagraph().getNumChildren() != 0 && element.asParagraph().getChild(0).getType() == DocumentApp.ElementType.INLINE_IMAGE) {
            var pictattr = element.asParagraph().getChild(0).asInlineImage().getAttributes();
            var blob = element.asParagraph().getChild(0).asInlineImage().getBlob();
        }
        else { 
            docbody.appendParagraph(element);
        }
    }
    else if( type == DocumentApp.ElementType.TABLE )
        docbody.appendTable(element);
    else if( type == DocumentApp.ElementType.LIST_ITEM )
        docbody.appendListItem(element);
    else
        throw new Error("Unsupported element type: "+type);

    newDoc.saveAndClose();
}
* *} тысяча двадцать-один
...