Сбой сценария в SpreadsheetApp.openById - требуется разрешение - PullRequest
1 голос
/ 20 сентября 2019

У меня есть функция onOpen, которая создает пользовательское меню в электронной таблице.Он работал нормально более года, но пару дней назад он перестал работать.

Когда я смотрю на стенограмму выполнения, я получаю:

"Выполнение не выполнено: у вас нет разрешения наcall SpreadsheetApp.openById. Требуемые разрешения: https://www.googleapis.com/auth/spreadsheets"

Это не работает / относится к следующей строке кода:

var ss = SpreadsheetApp.openById("myID")

Я проверил, какие API включены, и у меня есть Sheetsвключен, что отражено в файле .json. У меня нет нигде @OnlyCurrentDoc в скрипте. Я сбросил разрешения для учетной записи для этого скрипта, снова запустил функцию и разрешил разрешения, но меню все равно не будетсоздать при открытии.

Мой файл .json:

{
"timeZone": "Europe/London",
"dependencies": {
"enabledAdvancedServices": [{
  "userSymbol": "Sheets",
  "serviceId": "sheets",
  "version": "v4"
 }]
},
"exceptionLogging": "STACKDRIVER"
}

1 Ответ

0 голосов
/ 20 сентября 2019

Эта ошибка возникает из-за того, что у кода недостаточно прав для запуска этого метода.Для метода openById требуется одна или несколько из этой областей.Ваш манифест .JSON должен выглядеть следующим образом:

{
  "timeZone": "Europe/London",
  "dependencies": {
    "enabledAdvancedServices": [{
      "userSymbol": "Sheets",
      "serviceId": "sheets",
      "version": "v4"
    }]
  },
  "exceptionLogging": "STACKDRIVER",
  "oauthScopes": [
    "https://www.googleapis.com/auth/spreadsheets"
  ]
}

Обратите внимание, как я добавил область в конце файла.Пожалуйста, не стесняйтесь просить больше разъяснений к этому ответу.

...