Google Apps脚本需要已授予的权限

时间:2019-06-27 22:50:00

标签: google-apps-script google-sheets permissions

这是有问题的功能:

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 个答案:

答案 0 :(得分:1)

在艾伦·威尔斯(Alan Wells)和塔奈克(Tanaike)的帮助下(尽管由于我的帐户是新的,所以我无法对其投票)。

解决方案是:单个单元格公式无法请求权限,而正确的请求权限为https://mail.google.com/。一种解决方法是:将脚本作为菜单项而不是在单元格中执行(尽管需要对其进行修改以解释并输出到单元格)。