Пиша тази добавка за Workspace Sheets и имам този прост инсталируем тригер зададено да се задейства при всяко отваряне на електронната таблица:
function whenOpen(e) {
Logger.log('Open trigger ' + JSON.stringify(e));
}
const ss = SpreadsheetApp.getActive();
const currentTriggers = ScriptApp.getUserTriggers(ss);
if (currentTriggers.length == 0) {
ScriptApp.newTrigger('whenOpen').forSpreadsheet(ss).onOpen().create();
}
Когато го тествам, мога да видя, че се задейства успешно в моя собствен акаунт от изпълнение на проект и виждам съобщение, което изглежда като Open trigger {"authMode":"FULL","source":{},"triggerUid":"[...]","user":{[...]}}
.
Когато стартирам това от различен акаунт в същата електронна таблица, събитието изглежда се изпраща, но вместо това виждам незабавен отказ без регистрационни файлове с допълнителна информация:
Може би това е някакъв проблем с удостоверяването? Разбирам, че задействането ще се стартира от контекста на потребителя, който инсталира задействането (на базата на това), но все пак очаквам да работи без грешка. Мислех, че може да е проблем с обхвата, но вече изисквам https://www.googleapis.com/auth/script.scriptapp
, за да позволя на скриптовете да се изпълняват във фонов режим.
Моите въпроси:
- Има ли някакъв начин да получите по-подробни съобщения за грешка защо това се проваля?
- Какво причинява този тригер да не работи?
editor
разрешение за другите акаунти, за да се задейства тригерът. Въпреки че резултатът беше неочакван.Open trigger {"authMode":"FULL","source":{},"triggerUid":"6771708","user":{"email":"","nickname":""}}
Очаквах скриптът да показва имейла и псевдонима на действителния потребител, който е отворил листа или поне този на собственика. - person NaziA   schedule 14.04.2021failed
. Опитайте да опресните раздела за изпълнение. Моят всъщност не показва нищо в началото и когато опресних раздела, сега се показва. Проверихте ли дали вашият е просто случай на забавени регистрационни файлове? - person NaziA   schedule 14.04.2021