直接从云端硬盘执行Google Standalone脚本的方法

时间:2017-11-17 11:57:06

标签: google-apps-script

好吧,我已经阅读了很长一段时间的文档,但是,按照惯例,它真的不清楚...

我正在使用脚本编辑器开发一个Google脚本,该编辑器已按预期工作(任何G套件程序都没有任何内容,但有Drive)。

到目前为止,执行它的唯一方法是打开脚本编辑器并按“播放”按钮或“执行”栏并按下该功能。

显然这不是一个解决方案,因为任何来自商务的人都可以修改/查看代码。

所以问题是这样的:如何从这个脚本中创建一个类似“exe”的东西,我只需要双重ckick(它显然位于Drive)并执行脚本? < / p>

我看到了this但似乎没有办法做到这一点,除了打开代码并从谷歌应用程序脚本编辑器执行...

3 个答案:

答案 0 :(得分:3)

Web应用程序由HTTPS GET或POST请求触发。您不需要使用Google云端硬盘。

触发Web应用程序的方法:

  • Chrome扩展程序 - 您可以创建Chrome扩展程序以发出HTTPS GET或POST请求。用户需要安装Chrome扩展程序,Chrome扩展程序可以在浏览器中添加一个按钮。
  • 链接 - 一些带有链接的HTML。一封带有链接的电子邮件。单击链接。
  • 地址栏 - 浏览器的地址栏 - 每个浏览器的地址栏都会发出HTTPS GET请求,因此您可以直接从地址栏运行Web应用程序。将发布的Web App URL放入浏览器地址栏,然后单击浏览器用于加载页面的任何内容。 (仅限GET请求)
  • 书签 - 用户可以将链接添加为Web应用程序的链接。因此,他们需要点击其书签中的链接。
  • 任何可以发出HTTPS GET或POST请求的程序。例如,从Python或C ++发出POST请求。

对于GET请求,您需要在脚本中使用doGet()函数,并且要对POST请求作出反应,您需要doPost()函数。

答案 1 :(得分:1)

根据我对您的要求的理解,唯一的方法是将您的脚本部署为具有最小用户界面的Web应用程序,只需要一条简短的消息来确认正确执行。例如。

你永远不会有一个&#34;本地&#34;可执行文件,因为Apps脚本中的所有内容都在谷歌的服务器上完成,而不是在我们的计算机上完成。相反,你会有一个网址...(其优点是完全独立于操作系统!)

除非您分享该脚本,否则该脚本将保持私密状态,您可以选择谁可以使用该网址。

答案 2 :(得分:0)

试试这个:

  1. 首先构建菜单。
  2. 点击&#34;运行我的代码&#34;。
  3. 点击&#34;运行我的代码&#34;按钮。
  4. runmycode.html:

    <!DOCTYPE html>
    <html>
      <head>
        <base target="_top">
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
        <script>
        function runMyCode()
        {
          google.script.run
             .withSuccessHandler(updateMyDiv)
             .myFunctionName();
        }
        function updateMyDiv(hl)
        {
          document.getElementById('MyDiv').innerHTML+='<br />'+ hl;
        }
        </script>
      </head>
      <body>
      <input type="button" value="Run My Code" onclick="runMyCode()" />
       <div id="MyDiv"></div>
      </body>
    </html>
    

    runMyCode.gs:

    function myFunctionName() {
      return "Your function has run";
    }
    
    function startYourSideBar()
    {
       var ui=HtmlService.createHtmlOutputFromFile('runmycode');
       SpreadsheetApp.getUi().showSidebar(ui);
    }
    
    function buildMenu()
    {
      SpreadsheetApp.getUi().createMenu('Run My Code') 
         .addItem('Run My Code', 'startYourSideBar')
         .addToUi()
    }