google-apps-scriptgoogle-apps-script入门


备注

Google Apps脚本的官方概述发布在http://www.google.com/script/start ,从那里

Google Apps脚本是一种JavaScript云脚本语言,可提供跨Google产品和第三方服务自动执行任务以及构建Web应用程序的简便方法。

来自https://developers.google.com/apps-script/guides/services/#basic_javascript_features

Apps脚本基于JavaScript 1.6 ,以及1.71.8中的一些功能。许多基本的JavaScript功能,因此,除了内置的可及先进的谷歌服务 :您可以使用普通的对象,如数组日期正则表达式等等 ,还有数学对象的全局对象。但是,由于Apps脚本代码在Google的服务器上运行(不是客户端, HTML服务页面除外),因此无法使用基于浏览器的功能(如DOM操作或Window API)。

深入了解Google Apps脚本

Google Apps脚本是一种基于JavaScript的平台即服务,主要用于自动化和扩展Google Apps。 Apps Script专门在Google的基础架构上运行,无需服务器配置或配置。在线IDE用作连接Apps脚本可用的所有服务的整个平台的接口。用户身份验证通过OAuth2烘焙到平台中,并且不需要脚本作者的代码或设置。

Apps脚本在服务器端运行,但可以使用Html,CSS,JavaScript或任何其他浏览器支持的技术构建用户界面。与事件驱动的Nodejs不同,App Scripts在线程模型中运行。对脚本的所有调用都会生成该脚本的唯一实例,该实例独立于所有其他实例运行。当脚本的实例完成执行时,它将被销毁。

Apps脚本中的功能是阻塞的,因此不需要回调和异步编程模式。锁定用于防止代码的关键部分(例如文件IO)被不同的实例同时执行。

在实践中编写应用程序脚本很简单。下面是一个简单的脚本,可以从模板电子表格创建新的电子表格。

// Create a new spreadsheet from a template
function createSpreadsheet(){
   var templateFileId = '1Azcz9GwCeHjGl9TXf4aUh6g20Eqmgd1UMSdNVjzIZPk';
   var sheetName = 'Account Log for:' + new Date();
   SpreadsheetApp.openById(templateFileId).copy(sheetName);   
} 
 

你好,世界

我们将把Hello称为消息框。

function helloWorld() 
{
  Browser.msgBox("Hello World");
}
 

要执行脚本,请单击▶或选择菜单项Run - > helloWorld

安装或设置

Google Apps脚本不需要设置或安装。唯一的要求是Google帐户。 Gmail帐户与Google Apps for Work / Education / Government帐户一样有效。您可以转到accounts.google.com创建新的Google帐户

通过访问script.google.com开始您的第一个脚本。您还可以使用许多Google Apps(即文档,表格,表单等)tools -> Script editor... 访问Google Apps脚本。 Google Apps脚本还可以通过Connect more apps.. 功能直接添加到您的Google云端硬盘。

官方文档可在developers.google.com/apps-script/上找到。

要运行app-scripts,它们必须包含code.gs文件。 code.gs文件必须包含名为doGet(独立脚本)或onOpen函数(插件脚本)的函数。文档中的快速入门包含示例。

如果在app-script中打开了api,则还必须在开发人员控制台中打开它。但是,开发人员控制台包含可以打开的api,但不会出现在app-script界面​​中。例如,在将应用发布到Google Play商店或G套件域范围部署之前,需要在开发人员控制台中启用Marketplace SDK。

对于教育/工作/政府的Google应用程序,域管理控制台中的设置可以调整为允许或禁止运行应用程序脚本。

运行/调试脚本

尝试从工具栏运行代码,如下所示:

在此处输入图像描述

在你的代码中,如果你有多个函数,那么在运行之前你应该提到你想要运行的函数。例如 :

在此处输入图像描述

或者,您可以按键盘上的ctrl + r来运行代码。如果没有保存,它将首先保存代码,然后运行它。但是,要使其正常工作,您必须选择该功能,如上图所示。

此外,如果您的脚本被某些外部活动调用,如果您在执行代码后记录任何内容,仍然可以通过单击view-> logs查看日志。

脚本的类型

Google App脚本有三种类型。

  • 独立
  • 绑定到Google Apps
  • 网络应用

独立脚本

独立脚本不受任何Google应用程序绑定,即文档,表格或表单等。可以通过访问script.google.com或将Google应用程序脚本与Google驱动器相关联来创建独立脚本。独立脚本可用于独立编写Google应用程序,可用作Web应用程序,也可设置为从可安装的触发器自动运行。请参阅独立脚本的文档

绑定到Google Apps

绑定到Google Apps的脚本也称为容器绑定脚本;与独立脚本不同,它们绑定到Google应用程序,即Google Docs或Google Sheets等。可以通过从Google App中选择tools> Script editor 来创建容器绑定脚本。对话框,提示,菜单和侧边栏等一些功能仅由容器绑定脚本提供。此外,容器绑定脚本用于创建Google加载项 。请参阅容器绑定脚本的文档

网络应用

Google App Script可用作Web应用程序,因为浏览器可以访问它们。 Web App可以在浏览器上提供用户界面,并可以使用谷歌应用程序,即文档,工作表等。绑定到Google Apps的独立脚本和脚本都可以转换为Web应用程序。对于任何用作Web应用程序的脚本,脚本必须满足两个要求:

  • 包括doGet()doPost() 函数。
  • 该函数返回HTML服务HtmlOutput对象或Content服务TextOutput对象。

Inshort, doGet()doPost() 函数分别像http get和post请求处理程序一样工作。

有关Web Apps的更多详细信息,请参阅官方文档