Google应用程序脚本:调用jdbc需要权限吗?

Google应用程序脚本:调用jdbc需要权限吗?,jdbc,google-apps-script,Jdbc,Google Apps Script,如果我添加并运行一个调用以下代码的函数,我将gscript放在电子表格中: var conn = Jdbc.getConnection('jdbc:mysql://sql4.freesqldatabase.com:3306/sql427377', 'sql427377', 'my_pass'); 它起作用了 但如果我在谷歌应用程序脚本中复制/粘贴相同的代码: function doGet() { return HtmlService.createTemplateFromFile('i

如果我添加并运行一个调用以下代码的函数,我将gscript放在电子表格中:

var conn = Jdbc.getConnection('jdbc:mysql://sql4.freesqldatabase.com:3306/sql427377', 'sql427377', 'my_pass');
它起作用了

但如果我在谷歌应用程序脚本中复制/粘贴相同的代码:

function doGet() { 
    return HtmlService.createTemplateFromFile('index').evaluate(); 
} 
function getSql(){ 
    var conn = Jdbc.getConnection('jdbc:mysql://sql4.freesqldatabase.com:3306/sql427377', 'sql427377', 'my_pass'); 
} 
即使我没有调用函数,我也只是粘贴了代码,在执行脚本时,我收到了以下消息: “您的自动处置需要采取有效措施。”
“您必须具有执行此操作所需的权限。”


我不明白为什么。。。需要帮助;)

脚本项目中的权限是针对该项目中存在的每个服务请求的。您是否实际使用此服务调用函数并不重要

例如,如果我在脚本中有一个
onOpen()
函数和另一个发送电子邮件的函数,即使我只是尝试运行
onOpen()
,我也会被请求获得
mailApp服务的权限

如果您的电子表格没有询问任何关于Jdbc的问题,这意味着该项目已经被授权使用该服务(您可能忘记了),并且您在其他项目(doGet项目,但在任何其他项目中都是相同的)中描述的行为是正常的


如果你想检查这一点,只需在一个虚拟函数中添加对另一个Google服务的调用,并尝试执行另一个过去在没有警告的情况下工作的函数。。。您将如期获得授权请求。

好的,谢谢您的帮助。我删除了对jdbc的调用。我尝试向另一个Google服务添加一个调用:CalendarApp.getDefaultCalendar();在我的脚本(doGet one)中,但我无法获得授权请求。是否有解决方案来获取我的脚本的授权列表?再次感谢你…好的,它起作用了!似乎我需要重新部署并使用/exec url而不是/dev url来处理授权请求。也许……:)您还应该从脚本编辑器获取授权请求。请考虑接受这个答案。谢谢