我从google docs API上注意到
我能做到
{
"requests": [
{
"deleteContentRange": {
"range": {
"startIndex": 1,
"endIndex": 80
}
}
}
]
}但是,如果尾索引大于文档中字符的总长度,则会出现以下错误:
{
"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,或者以其他方式删除所有内容?
发布于 2020-02-25 04:33:07
如果我的理解是正确的,那么这个答案呢?请把这看作是几个可能的答案之一。
问题:
在现阶段,为了使用"DeleteContentRangeRequest",startIndex和endIndex的值都是必需的。看来这就是规格。因此,在您的情况下,我认为is it possible to get the endIndex somehow, or delete all content another way?导致了解决您的问题的方法。
解决办法的流程:
在这里,作为解决方法,将使用以下流。
1.从谷歌文档中检索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}
]
}
}endIndex的最后一个索引的content是这个值。2.从对象中检索endIndex。
由上述响应值可知,startIndex和endIndex分别为1和199。如果endIndex是200,则会发生错误。请小心这个。因此,请减少1从它。
3.使用startIndex和endIndex删除所有内容。
示例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}}}]}'参考文献:
如果我误解了你的问题,而这不是你想要的方向,我道歉。
https://stackoverflow.com/questions/60387029
复制相似问题