google 文档 api 删除所有内容

google docs api delete all content

我注意到 google docs API

我能做到

{
  "requests": [
    {
      "deleteContentRange": {
        "range": {
          "startIndex": 1,
          "endIndex": 80
        }
      }
    }
  ]
}

但是如果 endindex 大于文档中字符的总长度,我会得到以下错误:

{
  "error": {
    "code": 400,
    "message": "Invalid requests[0].deleteContentRange: Index 79 must be less than the end index of the referenced segment, 7.",
    "status": "INVALID_ARGUMENT"
  }
}

但我只想删除所有内容,即使我不知道结束范围值。

所以:是否有可能以某种方式获取 endIndex,或者以其他方式删除所有内容?

  • 您想删除 Google 使用文档 API 文档中的所有内容。

如果我的理解是正确的,这个答案怎么样?请将此视为几个可能的答案之一。

问题:

在当前阶段,为了使用"DeleteContentRangeRequest",startIndexendIndex的值都是必需的。好像就是这个规范。所以在你的情况下,我认为 is it possible to get the endIndex somehow, or delete all content another way? 导致了解决你的问题的方法。

解决方法流程:

此处,作为解决方法,使用以下流程。

1。从 Google 文档中检索 content 的对象。

示例curl命令如下。当您使用它时,请设置文档 ID。在这种情况下,body.content(startIndex,endIndex) 用作字段。这样就很容易看出响应值了。

curl \
  'https://docs.googleapis.com/v1/documents/###?fields=body.content(startIndex%2CendIndex)' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json'

响应值如下。

{
  "body": {
    "content": [
      {"endIndex": 1},
      {"startIndex": 1, "endIndex": 100},
      {"startIndex": 100, "endIndex": 200}
    ]
  }
}
    content 的最后一个索引的
  • endIndex 就是这个值。

2。从对象中检索 endIndex

从上面的响应值可以看出,startIndexendIndex分别是1199。如果 endIndex200,则会发生错误。请注意这一点。所以请从中减少1

3。使用 startIndexendIndex.

删除所有内容

示例curl命令如下。

curl --request POST \
  'https://docs.googleapis.com/v1/documents/###:batchUpdate' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"requests":[{"deleteContentRange":{"range":{"startIndex":1,"endIndex":199}}}]}'

参考文献:

如果我误解了您的问题并且这不是您想要的方向,我深表歉意。