Аддон Google Docs работает только для одного аккаунта - PullRequest
0 голосов
/ 10 июня 2018

Я развернул надстройку Google Docs, но она работает только для одной учетной записи, если в браузере несколько учетных записей.В частности, он работает только для (по умолчанию) учетной записи Google.Другие учетные записи случайным образом показывают одну из следующих ошибок

ScriptError: Действие не разрешено или

ScriptError: Для выполнения этого действия требуется авторизация

Что должно бытьсделано, чтобы избежать этого, чтобы любые учетные записи могли использовать надстройку?

1 Ответ

0 голосов
/ 10 июня 2018

Это связано с режимом авторизации .Таким образом, другие учетные записи в браузере не дали надлежащих разрешений для надстройки.Вам необходимо отредактировать onOpen(e) для обработки режима авторизации, когда пользователь еще не авторизовал надстройку.См. Пример ниже:

 function onOpen(e) {
   var menu = SpreadsheetApp.getUi().createAddonMenu();
   if (e && e.authMode == ScriptApp.AuthMode.NONE) {
     // Add a normal menu item (works in all authorization modes).
     menu.addItem('Start workflow', 'startWorkflow');
   } else {
     // Add a menu item based on properties (doesn't work in AuthMode.NONE).
     var properties = PropertiesService.getDocumentProperties();
     var workflowStarted = properties.getProperty('workflowStarted');
     if (workflowStarted) {
       menu.addItem('Check workflow status', 'checkWorkflow');
     } else {
       menu.addItem('Start workflow', 'startWorkflow');
     }
     // Record analytics.
     UrlFetchApp.fetch('http://www.example.com/analytics?event=open');
   }
   menu.addToUi();
 }

Используя приведенный ниже код, учетная запись «по умолчанию» увидит параметр «Проверить состояние рабочего процесса», а остальные увидят только «Начать рабочий процесс».Обратите внимание, что ваша проблема связана не с несколькими учетными записями в браузере, а с несколькими пользователями в одном документе.

...