📜  gsheet 获取单元格背景颜色 - Javascript (1)

📅  最后修改于: 2023-12-03 15:01:05.141000             🧑  作者: Mango

使用 Javascript 从 Google Sheets 获取单元格背景颜色

当我们需要从 Google Sheets 获取特定单元格的背景颜色时,我们可以使用 Google Sheets API 和 Javascript 来获取这些信息。在下面的文章中,我们将学习如何使用 Javascript 从 Google Sheets API 中获取单元格背景颜色。

步骤

以下是从 Google Sheets 中获取单元格背景颜色的步骤:

第 1 步:创建 Google Sheets API 凭证

要访问Google Sheets API,我们需要提供凭证。要获得凭证,请按照以下步骤操作:

  1. 在 Google Cloud Console 中创建一个新项目。

  2. 在左侧菜单中选择“API和服务”,然后单击“仪表板”。

  3. 建立一个新的凭证:在“创建凭证”中选择“服务帐户密钥”。

  4. 选择在“哪个API?”下选择“Google Sheets API”,在“哪个类型?”下选择“JSON”。

  5. 单击“创建”,下载 JSON 文件,保存在本地计算机上。

  6. 将该JSON文件的内容保存到私人key.json文件中。

第 2 步:安装相关依赖包

在使用 Google Sheets API 前,需要安装相关依赖包。

npm install google-auth-library@0.12.0 googleapis@39.2.0
第 3 步:读取特定单元格颜色

下面是使用 Javascript 读取特定单元格颜色的示例代码:

async function getCellColor() {
  const {GoogleAuth, GoogleSheets} = require('googleapis');
  const keys = require('./key.json');
  const auth = new GoogleAuth({
    scopes: ['https://www.googleapis.com/auth/spreadsheets.readonly'],
    credentials: keys
  });
  const client = await auth.getClient();
  const sheets = new GoogleSheets({version: 'v4', auth: client});
  const sheetId = 'your_sheet_id';
  const spreadsheetId = 'your_spreadsheet_id';
  const cell = 'A1';
  const response = await sheets.spreadsheets.get({
    auth: client,
    spreadsheetId: spreadsheetId,
    ranges: `${sheetId}!${cell}:${cell}`,
    includeGridData: true
  });
  const gridData = response.data.sheets[0].data[0].rowData[0];
  const backgroundColor = gridData.values[0].userEnteredFormat.backgroundColor;
  return backgroundColor;
}

记录单元格颜色的主要属性是用户输入格式(userEnteredFormat),用户输入格式中包含示例属性背景颜色(backgroundColor)。该代码使用 Google Sheets API 的“spreadsheets.get”方法获取特定单元格的颜色信息。

第 4 步:运行脚本

最后,运行获取颜色的脚本。

getCellColor()
  .then(backgroundColor => {
    console.log(backgroundColor);
  })
  .catch(err => {
    console.log('The API returned an error: ' + err);
  });
结论

使用 Javascript 和 Google Sheets API,我们可以轻松地从 Google Sheets 中获取单元格背景颜色。以上步骤详细描述了如何获取特定单元格的背景颜色。