Не могу открыть документ Google из моего скрипта

Итак ... Я пытаюсь начать работу с Google Apps Script, работая с этой книгой.

В одном из первых примеров я наткнулся на небольшую загвоздку; Я не могу заставить скрипт открыть Документы Google, распечатать приветствие и закрыть его.

Вот соответствующий код:

function helloDocument() {
  var greeting = 'Hello World!';

  // Create DocumentApp instance
  var doc = DocumentApp.create('test_DocumentApp');

  // Write the greeting to a Google Document.
  doc.setText(greeting);

  // Close the newly created document
  doc.saveAndClose();
}

Есть идеи относительно того, что меня задерживает? Когда я выбираю функцию для запуска из редактора сценариев, отображается сообщение о том, что она выполняется, а затем ... ничего.


person memilanuk    schedule 04.09.2016    source источник
comment
Ваш код работает нормально на моей машине. Думаю, проблема в том, что у вас недостаточно прав.   -  person Eugene    schedule 04.09.2016
comment
@ Евгений, как мне изменить разрешения на то, что мне нужно?   -  person memilanuk    schedule 04.09.2016
comment
Обычно, когда вы запускаете скрипт в первый раз, когда система спрашивает вас о разрешениях, вы видели такой диалог?   -  person Eugene    schedule 04.09.2016


Ответы (2)


Код, которым вы поделились, создает файл с именем test_DocumentApp в корневой папке вашего Google Диска и добавляет внутрь текст Hello World!. Если вы не можете его найти, перейдите в Google Диск> Недавние, чтобы просмотреть их. Взгляните на официальную документацию и видео Google с аналогичной реализацией.

Я не совсем понимаю, что вы имеете в виду, говоря «тогда ... ничего». Может быть, результатом, которого вы ожидали, было действительно увидеть, как он открывает вкладку с Google Doc, устанавливает текст и закрывает его?

person ocordova    schedule 04.09.2016
comment
«Может быть, результатом, которого вы ожидали, было действительно увидеть, как он открывает вкладку с Google Doc, устанавливает текст и закрывает его?» Вот и все. Оказывается, Google Таблицы весело создавали Google Docs и устанавливали текст внутри. Я думал, что по крайней мере увижу его визуально. - person memilanuk; 05.09.2016
comment
Скрипт Google Apps выполняется за кулисами, после запуска функции вы можете перейти в Просмотр ›Стенограмма выполнения, чтобы просмотреть подробности выполнения или записать что-то вроде Logger.log(doc.getUrl()); - person ocordova; 05.09.2016

Ты почти там. Если вы запускаете автономный скрипт (например, не привязанный к документу), то приведенный ниже код должен работать для вас:

function helloDocument() {
  var greeting = 'Hello World!';

  // Create new google doc
  var doc = DocumentApp.create('test_DocumentApp');

  // get the body of the document
  var body = doc.getBody();

  body.setText(greeting);

  // Save and close the newly created document
  doc.saveAndClose();
}

Как отмечалось Евгением и другими авторами, вам нужно будет убедиться, что вы предоставили достаточные разрешения при первом запуске скрипта. если вы еще этого не сделали. Ниже приведены скриншоты, демонстрирующие рабочий процесс:

Просмотр разрешений

Щелкните Review Permissions. Если у вас заблокированы всплывающие окна (может быть, блокировщик рекламы?), Вам также может потребоваться разрешить всплывающие окна для этого сайта.

введите описание изображения здесь

Щелкните Accept, чтобы предоставить разрешения вашему сценарию.

Это запустит ваш код и создаст файл в корневом каталоге вашего диска. Перейдите на диск и найдите файл с именем test_DocumentApp, и вы должны увидеть документ со строкой приветствия Hello World!.

person Will    schedule 04.09.2016
comment
Привет, Уилл, как я уже сказал, этот код (как есть) работает на моей машине - без ошибок и создайте файл с требуемым файлом. Как это объяснить? - person Eugene; 04.09.2016
comment
Привет @Will ... все равно дает те же результаты - говорит "Работает ...", то ничего. - person memilanuk; 04.09.2016