如何在我的网页中使用Google Apps脚本代码

时间:2017-06-07 12:03:30

标签: javascript html google-apps-script google-api

我正在使用HTML,CSS和JavaScript构建一个Web应用程序,并使用Google Spreadsheet作为数据库。我打算使用PhoneGap将我的网络应用程序变成真正的应用程序。

我能够使用Google Visualization API从我的Google表格中读取,现在我正在处理写作选项:我在Google电子表格中使用了一个带有Google Apps脚本的功能集,它可以正常工作。

此网站的优秀用户向我提供了使用此命令返回我的网页的建议:return HtmlService.createHtmlOutputFromFile('redirect').setSandboxMode(HtmlService.SandboxMode.IFRAME);

并告诉我创建重定向页面,其中一个简单的JS函数使用window.location.href返回到我的页面。通过这种方式,地址与脚本相同,但我需要它是我的,因为我无法在iframe中运行我的应用程序。

长话短说,我希望浏览器中的地址是我的,而不是使用GAS沙箱浏览我的网站。

我无法找到解决方案,所以我在第一百万次再次来到这里......有没有办法在我自己的页面中使用Google Apps Script功能,可能会在其中调用一些API?通过这种方式,我确信我可以使用一些标准代码返回我需要的地方。

这是功能代码:

    function doPost(e){
    var sheet = SpreadsheetApp.openById("myID").getSheetByName('SheetName');
    var column = 1; 
    var colArray = sheet.getRange(2, column, sheet.getLastRow()).getValues();
    var maxi = Math.max.apply(Math, colArray);


    var id = maxi+1;
    var name = e.parameter['name'];
    var surname = e.parameter['surname'];
    var serial = e.parameter['serial'];
    var eMail = e.parameter['mail'];
    var text = e.parameter['text'];
    var area = e.parameter['area'];
    var date = new Date();
    var ans = ""
    var flag = "Work In Progress";

    var vals = [id, date, name, surname, serial, eMail, area, text, ans, flag];

    var sheetObj = sheet.appendRow(vals);
    return HtmlService.createHtmlOutputFromFile('redirect').setSandboxMode(HtmlService.SandboxMode.IFRAME);

那就是页面:

        <html>
          <head>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
            <script>
            function test()
            {
               window.location.href = "myAdd";
            }
        </script>
          </head>
          <body onload="test()">
          </body>
        </html>

有人可以帮助我吗? 非常感谢!

2 个答案:

答案 0 :(得分:0)

如果您的项目可以容纳(例如,如果您有一个表单并且希望它在电子表格上书写),也许您可​​以尝试使用REST Execution API并传递适当的有效负载以便您可以运行你的脚本RPC样式。

答案 1 :(得分:0)

您无法在GAS之外运行Google脚本