2016-04-19 3 views
1

Я создаю скрипт Google, чтобы задать вопрос, получить дату и поместить все это в новый документ. Он получает информацию через подсказку. Когда я нажимаю run, он говорит, что «Запрос ReferenceError:» не определен. (строка 16, файл «Код») ». Мой код выглядит следующим образом:Подсказка не работает в скриптах Google Apps

function myFunction() { 
var today = new Date(); 
var dd = today.getDate(); 
var mm = today.getMonth()+1; //January is 0! 
var yyyy = today.getFullYear(); 

if(dd<10) { 
    dd='0'+dd 
} 

if(mm<10) { 
    mm='0'+mm 
} 

today = mm+'/'+dd+'/'+yyyy; 
var prompted = prompt('How was recycling today?'); 

DriveApp.createFile('Recycle log for ' + today, prompted, 'GOOGLE_DOCS'); 
logger.log('On ' + today + ', recycling statistics were:' + prompted); 
} 

Как я могу это исправить? Если я не могу, как я мог бы сделать то же самое?

+0

«подсказка» не существует в Google Apps Script, «регистратор» также не читает справочную документацию и/или использует функцию автозаполнения (CTRL + SPACE) при написании сценария в GS. –

+0

Я исправил «регистратор» и заменил его на «Logger», который ** существует **. – redwolf10105

ответ

2

Сценарий приложения Google основан на JavaScript, который используется для автоматизации приложений Google, а также для создания надстроек или создания веб-приложений, но сценарий приложения Google работает на сервере, а не на браузере клиента, поэтому он не поддерживает родные функции JavaScript, такие как alert, prompt и т. Д.

Тем не менее, скрипт google app предоставляет HTML Service, который вы можете использовать для создания пользовательского интерфейса для ввода.

Кроме того, если ваш скрипт Document bound script, вы можете использовать метод, как getUi, который возвратит вас UI Class, через которые вы можете показать всплывающие окна и диалог, как предупреждение и приглашение, или даже создать свой собственный dialog или sidebar.

Для примера:

DocumentApp.getUi().alert("Hello world."); 

или

var ui = SpreadsheetApp.getUi(); 
var response = ui.prompt('May I know your name?', ui.ButtonSet.YES_NO); 

Следуйте examples в документации.

+0

Ну, если документ не открыт, как если бы я просто нажал кнопку «запустить», будет ли это работать? – redwolf10105

+0

Не работал, когда я нажал кнопку пробега. – redwolf10105

+1

Если у вас есть связанный с документом сценарий, и вы используете метод getUi и запускаете его непосредственно из редактора, это приведет к тому, что всплывающее/диалоговое окно появится на вашей странице документа не в редакторе. Если вы пишете веб-приложение в скрипте приложения Google, вы будете использовать службу HTML, которая вернет ответ Html вашему клиенту. – MShoaib91