Сценарий Google Apps требует разрешения, которые уже предоставлены - PullRequest
1 голос
/ 28 июня 2019

Вот рассматриваемая функция:

function GetResponseDate(confirmation) {

  var threads = GmailApp.search(confirmation);
  var initialResponse;
  if(threads.length!=0){
   initialResponse = threads[0].getMessages()[0].getDate(); 
  }
  else{
    initialResponse = "none";
  }

  return initialResponse;

}

Вот манифест:

{  
  "oauthScopes":[
    "https://www.googleapis.com/auth/gmail.readonly",
    "https://www.googleapis.com/auth/gmail.addons.current.message.readonly",
    "https://www.googleapis.com/auth/gmail.addons.current.message.action",
    "https://www.googleapis.com/auth/gmail.modify" 
    ],
  "timeZone": "America/Los_Angeles",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER"
}

Реализация просто

= GetResponseDate("12345")

внутри ячейки.

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

The script does not have permission to perform that action. Required permissions: (https://www.googleapis.com/auth/gmail.readonly || https://www.googleapis.com/auth/gmail.addons.current.message.readonly || https://www.googleapis.com/auth/gmail.addons.current.message.action || https://www.googleapis.com/auth/gmail.modify || https://mail.google.com/) (line 3).

1 Ответ

1 голос
/ 28 июня 2019

Ответили Алан Уэллс и Танаике (хотя я не могу проголосовать за них, потому что мой аккаунт новый).

Решение: отдельные формулы ячеек не могут запрашивать разрешения, а правильное разрешение для запроса - https://mail.google.com/. Одним из обходных путей является выполнение сценария как элемента меню, а не внутри ячейки (хотя его необходимо изменить для интерпретации и вывода в ячейки).

...