Как да стартирам тригер от различен акаунт?

Пиша тази добавка за 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, за да позволя на скриптовете да се изпълняват във фонов режим.

Моите въпроси:

  • Има ли някакъв начин да получите по-подробни съобщения за грешка защо това се проваля?
  • Какво причинява този тригер да не работи?

person nico    schedule 13.04.2021    source източник
comment
Това изглежда странно, тъй като го тествах на моя страна и наистина работи. Моето тестване доказа, че имате нужда само от editor разрешение за другите акаунти, за да се задейства тригерът. Въпреки че резултатът беше неочакван. Open trigger {"authMode":"FULL","source":{},"triggerUid":"6771708","user":{"email":"","nickname":""}} Очаквах скриптът да показва имейла и псевдонима на действителния потребител, който е отворил листа или поне този на собственика.   -  person NaziA    schedule 14.04.2021
comment
здравей @nico, можеш ли да опиташ процеса от нулата отново? може би нещо не е наред, тъй като не успях да репликирам проблема ви.   -  person NaziA    schedule 14.04.2021
comment
Здравей @nico, всъщност репликирах проблема, при който не се показваха регистрационни файлове по време на друг акаунт, отварящ листа и резултатите, на failed. Опитайте да опресните раздела за изпълнение. Моят всъщност не показва нищо в началото и когато опресних раздела, сега се показва. Проверихте ли дали вашият е просто случай на забавени регистрационни файлове?   -  person NaziA    schedule 14.04.2021
comment
Ще се опитам да направя друга проста добавка, за да видя дали мога да я репликирам с голо приложение. Все още нямам информация за неуспешните екзекуции.   -  person nico    schedule 14.04.2021
comment
Все още се сблъсквам със същия проблем. Пускам това като добавка за работно пространство вместо добавка за редактор. Може ли това да обясни разликата в поведението, чудя се?   -  person nico    schedule 14.04.2021
comment
здравей @nico, вече съм без идея. Помогнаха ли ви по някакъв начин препратките по-горе? Можем също така да изчакаме други да се включат по този проблем.   -  person NaziA    schedule 14.04.2021


Отговори (1)


Документацията не изяснява това, но има два вида добавки:

  • Добавки за редактор, които са инсталирани в документа
  • Добавки за работно пространство, които се инсталират на потребителя

Вижте: https://developers.google.com/workspace/add-ons/concepts/types

Трябваше да използвам добавка за редактор, за да имам поведението, което исках.

person nico    schedule 16.04.2021
comment
Извинявам се, че не успях да спомена, че използвам добавка за редактор. Радвам се, че успяхте да разрешите проблема си. - person NaziA; 16.04.2021
comment
@NaziA Без притеснения, това е доста неясно -- благодаря за помощта. - person nico; 16.04.2021