如何使Google应用脚本跳过错误并继续下一个项目

如何使Google应用脚本跳过错误并继续下一个项目

Google应用脚本 是一个脚本平台,允许您编写代码以自动化Google应用(如Google表格、Google文档和Gmail)中的任务。使用Google应用脚本,您可以创建自定义功能和脚本,用于扩展这些应用程序的功能。例如,您可以使用Google应用脚本在Google表格电子表格中创建一个自定义函数,以自动生成报告或执行计算。

它基于JavaScript,因此如果您对JavaScript有经验,您应该能够快速学习如何使用Google应用脚本。除了JavaScript之外,Google应用脚本还提供了许多内置库和类,可用于访问和操作Google应用中的数据。

使用Google应用脚本的关键优势之一是它允许您在不同的Google应用之间集成和自动化任务。例如,您可以使用Google应用脚本自动从Google表格电子表格中提取数据并将其用于在Google文档中创建新文件。这可以节省大量时间和精力,因为您可以自动化重复的任务,避免手动在不同应用程序之间传输数据。

总体而言,Google应用脚本是一个强大且灵活的工具,可以帮助您自动化任务并扩展Google应用的功能。无论您是初学者还是有经验的程序员,Google应用脚本都提供了许多可能性,以创建满足您特定需求的自定义解决方案。

运行应用脚本代码的设置: 以下是您可以按照的步骤来设置Google表格API项目并启用API并使用您的Google帐户进行身份验证:

步骤1: 转到Google Cloud控制台应用脚本。

如何使Google应用脚本跳过错误并继续下一个项目

应用脚本控制台

步骤2: 选择或创建您要用于Google表格API的项目。

如何使Google应用脚本跳过错误并继续下一个项目

选择 Sheets API

步骤 5: 启用 API。

如何使Google应用脚本跳过错误并继续下一个项目

API 选择

步骤 6: 转到凭据页面。

步骤 7: 点击“创建凭据”按钮,选择 OAuth 客户端 ID。

步骤 8: 选择“其他”应用程序类型,并给客户端 ID 命名(例如,“Google Sheets API 客户端”)。

步骤 9: 点击“创建”按钮以生成客户端 ID 和客户端密钥,这将在您的代码中用于身份验证。

步骤 10: 在使用 API 之前,在您的代码中安装必要的库并使用您的 Google 账号进行身份验证。

问题描述: 如何使我们的代码在解析 Google Sheet 时即使出现行错误也不停止运行。

假设我们正在解析一个包含 1000 行学生数据的 Google Sheet,以找到一些有用的学生见解,但某行数据无效,导致运行时出错。我们将看看如何处理这个问题。

示例: 这是一个 Google App Script 的示例,可用于扫描包含学生数据的 Google Sheets 电子表格中的 1000 个条目:

您可以通过转到 Google Sheets 菜单并选择“工具 > 脚本编辑器”来运行此脚本。然后,您可以将代码粘贴到脚本编辑器中并保存。最后,您可以通过在脚本编辑器中点击“播放”按钮来运行 scanStudentData() 函数。

// Async function to retrieve data from
// a Google Sheets spreadsheet and
// log it to the console

async function getSheetData() {
    // Specify the spreadsheet ID
    // and range of cells to access
    const spreadsheetId = '1O6KRpqiwBDXd1nxLdO5TagfppoAfJo3fWqxe7J4VH9Y';
    const rangeName = 'Sheet1!A:E';

    try {
        // Get the values from the spreadsheet
        // using the specified ID and range
        // The values property of the response
        // object contains an array of rows
        // from the specified range
        const values = Sheets.Spreadsheets.Values
            .get(spreadsheetId, rangeName).values;

        // If no values are found, log a message and return
        if (!values) {
            console.log('No data found.');
            return;
        }
        // Iterate over each row in the values array
        for (const row in values) {
            // Try to log the row, and
            // log any errors that occur
            try {
                console.log(values[row]);
            } catch (err) {
                console.log(err);
            }
        }
    } catch (err) {
        // If there is an error getting
        // the values from the spreadsheet,
        // log the error message
        console.log(err.message);
    }
}

// Async function to call
// the getSheetData function
async function main() {
    // Call the getSheetData function
    await getSheetData();
}

这段代码安装所需的库,设置要访问的Google Sheets的ID,设置要从工作表中检索的单元格范围,设置Google Sheets API客户端,设置客户端的凭据,使用Sheets API从指定范围中检索数据,循环遍历工作表中的行,并对每行中的学生数据采取某些操作(在此示例中,只是将学生数据打印到控制台)。

解释:

  • 这段代码使用Sheets API从Google Sheets电子表格中检索数据。
  • 目标电子表格的ID和要访问的单元格范围被指定为常量。
  • getSheetData函数被定义为异步,允许它使用await关键字在接收到API的响应之前暂停执行。
  • getSheetData函数向Sheets API发出请求,以检索电子表格中指定范围的单元格。
  • 如果API返回成功的响应,则将响应对象的values属性存储在values变量中。
  • 如果响应中没有找到值,则将一条消息记录到控制台并返回该函数。
  • 如果找到值,则记录一条指示正在打印的数据的消息到控制台。
  • for循环遍历values数组中的每一行。
  • try块尝试将当前行记录到控制台。
  • 如果在记录行时发生错误,则catch块将错误记录到控制台。
  • for循环中的try和catch块允许函数继续执行,即使在处理特定行时发生错误。
  • 如果在进行API请求时发生错误,则在for循环外的catch块将错误消息记录到控制台。
  • main函数被定义为异步,并使用await关键字调用getSheetData函数。
  • main函数作为getSheetData函数的包装器,允许在代码的其他地方调用它。
    getSheetData函数将电子表格中每个学生的姓名和专业记录到控制台。
  • 要访问的单元格范围被指定为’Sheet1!A:E’,这意味着正在访问名为“Sheet1”的工作表上从A到E的所有单元格。
  • for循环遍历values数组中的每一行,并记录第一列和第五列(索引0和4)中的值。
  • for循环中的try和catch块允许函数继续执行,即使在处理特定行时发生错误。
  • 如果在进行API请求时发生错误,则在for循环外的catch块将错误消息记录到控制台。
  • 这段代码允许使用Sheets API从Google Sheets电子表格中检索和处理数据。

输出:

如何使Google应用脚本跳过错误并继续下一个项目

这个输出由代码中的console.log语句生成,它将工作表中每一行的学生数据打印到控制台。假设学生数据存储在工作表的前四列中(即A到D列),第一列包含学生的名字,第二列包含学生的姓氏,第三列包含学生的地址,第四列包含学生的城市。

阅读更多:JavaScript 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程