#google-apps-script #google-workspace-add-ons
#google-приложения-скрипт #google-workspace-дополнения
Вопрос:
Я создаю надстройку Google Workspace и хочу использовать точечное меню для динамического отображения опции «Выйти» после входа пользователя в систему.
Я обнаружил, что параметры меню определены в ресурсе развертывания надстройки (также называемой manifest) в виде массива под названием «universalActions». Например, так:
"universalActions": [{
"label": "Settings",
"openLink": "https://myapp.com/settings"
},{
"label": "Sign Out",
"openLink": "https://myapp.com/logout"
}]
Но я не могу найти способ изменить «универсальные действия» после развертывания.
В приведенном ниже примере вы видите надстройку Evernote перед входом в систему и после входа в систему.
На втором рисунке, таким образом, после входа в систему, вы видите дополнительные пункты меню «Einstellungen» (что означает настройки) и «Abmelden» (что означает выход из системы). Как я могу добиться отображения этих параметров только после входа в систему?
Ответ №1:
Универсальными действиями, согласно документации скрипта приложения, являются:
[…] элементы элементов меню, которые позволяют пользователю открывать новую веб-страницу, отображать новые карточки пользовательского интерфейса или запускать определенную функцию скрипта приложений при выборе. По своей работе они очень похожи на действия с картами, за исключением того, что универсальные действия всегда помещаются на каждую карту в вашем дополнении, независимо от текущего контекста дополнения.
Действительно, использование действия с картой кажется подходящим выбором для этого, однако вы также можете рассмотреть возможность проверки других доступных опций виджетов, поскольку они позволяют надстройке делать что-то на основе взаимодействия с пользователем:
- Средства выбора даты и времени;
- Кнопка изображения;
- Ввод выбора;
- Переключить;
- Текстовая кнопка;
- Ввод текста;
- Сетка;
Ссылка
Ответ №2:
Функция, которую я искал, называется CardActions. Если вы определите «CardAction», оно будет размещено в меню строки заголовка (то, что я назвал «точечным меню»).
Как JSON-объект, вы можете поместить его так:
"action": {
"navigations": [
{
"pushCard": {
"cardActions": [
{
"actionLabel": "Logout",
"onClick": {
"openDynamicLinkAction": {
"function": "https://dummy-function-from-resources.net/openLinkCallback"
}
}
}...