我们在哪里可以找到 Google 对象的未记录的属性

Where can we find non-documented attributes of Google Objects

我知道自动完成有时可以帮助您找到 Google 对象的未引用方法,例如 Sheets API v4 但我如何找到属性。

电子表格示例:

function onEdit(e)
{
  Logger.log(e.range.columnStart)
  //returns the start column of the range I've edited
  Logger.log(SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getDataRange().columnStart)
  //Weird result, even if my sheet is populated with values it returns 'undefined'
}

在此示例中,您看到了属性 columnStart,但我在文档中找不到它,但似乎很多人都在使用它。

另一点可能超出主题但很有趣,e.rangegetDataRange returns 一个 Range 对象,但似乎有一个填充的 columnStart当另一个没有时的属性。

  • 您想从 onEdit(e) 中检索 e.range 的对象。

如果我的理解是正确的,这个答案怎么样?不幸的是,在事件对象的文档中看不到详细属性。因此,例如,它使用 JSON.stringify().

确认事件对象的每个属性

示例脚本:

function onEdit(e) {
  Logger.log(JSON.stringify(e)) // or console.log(JSON.stringify(e))
}

结果:

{
  "authMode": {},
  "range": {
    "columnStart": 1,
    "rowStart": 1,
    "rowEnd": 1,
    "columnEnd": 1
  },
  "source": {},
  "user": {
    "nickname": "### name ###",
    "email": "### email ###"
  },
  "value": "sample"
}

注:

  • 如果 Logger.log(JSON.stringify(e.range)) 是 运行,则检索 {"columnStart":1,"rowStart":1,"rowEnd":1,"columnEnd":1}。在这种情况下,"A1" 被编辑。

参考: