Я пытаюсь использовать предложения ввода текста в gmail от Google: https://developers.google.com/gsuite/add-ons/how-tos/suggestions
Цель состоит в том, чтобы, когда пользователь вводит текст в поле ввода, предложения возвращаются из файлов диска Google пользователя:Метод list.
Однако похоже, что система никогда не попадает в строку DriveApp.searchFiles, и об ошибках не сообщается.Это все, что я вижу в журналах:
[19-03-22 10: 36: 28: 243 CET] Ввод текста: asdf
function getInsertImageComposeUI(e) {
return [buildInitialMailMergeCard()];
}
function refreshSpreadsheetSuggestions(e){
var suggestions = CardService.newSuggestions();
var textInput = e.formInputs.spreadsheetInput[0];
Logger.log("Text input: " + textInput);
var files = DriveApp.searchFiles({'title': textInput});
Logger.log("files: " + files);
while(files.hasNext()){
var file = files.next();
suggestions.addSuggestion(file.getName());
}
return CardService.newSuggestionsResponseBuilder()
.setSuggestions(suggestions)
.build();
}
function buildInitialMailMergeCard() {
var spreadsheetPickerChanged = CardService.newAction()
.setFunctionName('refreshSpreadsheetSuggestions')
.setParameters({"numSuggestions": "5"});
var spreadsheetPicker = CardService.newTextInput()
.setFieldName('spreadsheetInput')
.setTitle('Choose a spreadsheet')
.setSuggestionsAction(spreadsheetPickerChanged)
var drivePickerSection = CardService.newCardSection().setHeader('Choose a Spreadsheet:');
drivePickerSection.addWidget(spreadsheetPicker);
var initialCard = CardService.newCardBuilder();
initialCard.addSection(drivePickerSection);
return initialCard.build();
}