К сожалению, при чтении из хранилища произошла ошибка сервера. Код ошибки PERMISSION_DENIED - PullRequest
4 голосов
/ 14 февраля 2020

Я написал дополнение для редактора сценариев Google и опубликовал его на Google Marketplace для частного просмотра (он виден только пользователям в моей организации). Я протестировал надстройку со всеми типами разрешений (установлены для текущего пользователя, включены в текущий документ, установлены и включены) в редакторе сценариев, и все работает как задумано. Однако после публикации дополнения на торговой площадке и установки его в тестовой таблице я продолжаю получать эту ошибку: We're sorry, a server error occurred while reading from storage. Error code PERMISSION_DENIED. из функции onOpen.

Я явно устанавливаю эти области действия oauth:

"oauthScopes": [
    "https://www.googleapis.com/auth/script.container.ui",
    "https://www.googleapis.com/auth/spreadsheets.currentonly",
    "https://www.googleapis.com/auth/script.scriptapp",
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/userinfo.profile"
  ]

А вот мой onOpen триггер:

function onOpen(e: AppsScriptEvent) {
    if (e && e.authMode !== ScriptApp.AuthMode.NONE) {
        const ui = SpreadsheetApp.getUi();
        const menu = ui.createAddonMenu();
        menu.addItem("Add New Offering", "addNewOffering");
        menu.addSeparator();
        menu.addSubMenu(
            ui
                .createMenu("Settings")
                .addItem("Dashboard Name", "changeDashboardName")
                .addItem("Dashboard Start Cell", "changeDashboardStartCell")
        );
        menu.addToUi();
    }
}

Какие еще типы разрешений я здесь пропускаю?

Ответы [ 2 ]

1 голос
/ 29 апреля 2020

Отключение App Script V8 во время выполнения исправило проблему при входе в систему с несколькими учетными записями ...

Я разрабатывал надстройку для своей неосновной учетной записи Google, поэтому при обращении к серверу я столкнулся с ошибкой функции скрипта Google App из HTML диалогов.

Надеюсь, это поможет.

0 голосов
/ 12 марта 2020

Я столкнулся с той же проблемой, и, похоже, она связана с тем, что я вошел в несколько учетных записей Google на Chrome.

  • Ноутбук 1: вчера вечером я работал над своим скриптом Google App из мой ноутбук, который использует только одну учетную запись Google на Chrome.
  • Портативный компьютер 2: Сегодня я пытаюсь обновить скрипт Google App, используя другой ноутбук, на котором зарегистрировано несколько аккаунтов Google.

При запуске скрипта с ноутбука 2 я получаю сообщение об ошибке:

We're sorry, a server error occurred while reading from storage. Error code PERMISSION_DENIED.

Я пробовал скрипт на ноутбуке 1, и все работало нормально. Затем я открыл Incognito windows на ноутбуке 2 и вошел в свою учетную запись, и все работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...