Google Apps Script - Ошибка получения разрешений в листах Google из пользовательского пункта меню - PullRequest
0 голосов
/ 31 мая 2018

Я создал скрипт Google для экспорта определенных данных из Google Sheet.Зная, что мой сценарий не может создавать новые файлы, если он не запускается из пользовательского меню, я создал следующий код:

function onOpen () {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var menuEntries = [];
    MenuEntries.push({name:"Export Project sheets", 
    functionName:"exportProjectSheet"})
    ss.addMenu("Export", menuEntries);
}

, который, в свою очередь, вызывает эту пользовательскую функцию (большинство из нее отредактировано, за исключением этого выбора для релевантности ииз соображений конфиденциальности):

 function exportProjectSheets() {
      var id = DocumentApp.create("WO #" + projectWorkOrderNumber.getValue() 
      + " " + projectName.getValue()).getId(); //Create a new document with 
      the project name, plus grab it's id as a value
      //DOCUMENT FILLING
      var doc = DocumentApp.openById(id); //create a variable that refers to 
      the document body so we can edit it
 }

Я почти уверен, что предоставил все необходимые разрешения на доступ - но по какой-то причине, когда я пытаюсь запустить функцию в пользовательском меню, я получаю сообщение об ошибке: "У вас нет разрешения называть «создать».Что дает?

{
  "timeZone": "America/New_York",
   "dependencies": {
   },
  "exceptionLogging": "STACKDRIVER",
  "sheets": {
    "macros": [{
      "menuName": "exportProjectSheet",
      "functionName": "exportProjectSheet"
    }, {
      "menuName": "timestamp",
      "functionName": "timestamp"
    }, {
      "menuName": "onOpen",
      "functionName": "onOpen"
    }, {
      "menuName": "export",
      "functionName": "export"
    }]
}

РЕДАКТИРОВАТЬ: Добавлены данные файла манифеста по запросу.

1 Ответ

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

Проверьте Файл-> Свойства проекта-> Области для автоматически сгенерированных областей.Если вы видите currentonly, то где-то указан // @OnlyCurrentDoc, и вы не сможете получить доступ ни к каким другим файлам, кроме того, к которому привязан этот скрипт.Если вы не можете удалить этот комментарий, вы можете добавить // @NotOnlyCurrentDoc, чтобы сделать его недействительным (т.е. если он находится в библиотеке).-Tehhowch

Это был правильный ответ.

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