我可以使用batchUpdate api成功创建一个名称范围,但是,replaceNameRangeContent给出以下错误:
{ "error": { "code": 400, "message": "Invalid requests[0].replaceNamedRangeContent: Named range with ID kix.ydbik9q4xmna contains content that cannot be replaced.", "status": "INVALID_ARGUMENT" } }
这个请求是:
{ "requests": [ { "replaceNamedRangeContent": { "namedRangeId": "kix.ydbik9q4xmna", "text": "" } } ] }
我是否正确使用了API ?我创建了名称范围,给出start/endindex并命名它。它创建了我在替换内容帖子中使用的namerangid。
在上面的索引范围内有内容。然而,下面是一个空文档的文档结构示例(省略了文档样式等)。我试过
{
"requests": [
{
"createNamedRange": {
"range": {
"startIndex": 1,
"endIndex": 2
},
"name": "ApplicantName"
}
}
]
}
紧随其后{
"requests": [
{
"replaceNamedRangeContent": {
"namedRangeId": "kix.f7g9w0sr3kyp",
"text": "Applicant Name"
}
}
]
}
得到相同的错误。但是当执行create named range时,它将不接受除1和2以外的任何起始/结束索引。
我一定不能理解命名范围的实际意图!
示例:
{
"title": "Test mule",
"body": {
"content": [
{
"endIndex": 1,
"sectionBreak": {
"sectionStyle": {
"columnSeparatorStyle": "NONE",
"contentDirection": "LEFT_TO_RIGHT",
"sectionType": "CONTINUOUS"
}
}
},
{
"startIndex": 1,
"endIndex": 2,
"paragraph": {
"elements": [
{
"startIndex": 1,
"endIndex": 2,
"textRun": {
"content": "n",
"textStyle": {}
}
}
],
"paragraphStyle": {
"namedStyleType": "NORMAL_TEXT",
"direction": "LEFT_TO_RIGHT"
}
}
}
]
}
我可以复制您的错误时,创建一个命名范围与"startIndex": 0
请注意,Google Docs中的段落(以及文本)索引指的是文本中字符的位置,并以1
开头。
因此,如果您创建了一个名称范围,并正确指定了索引,您将不会得到错误消息
{"error": {"code": 400, "message": "无效请求[0]。replacenamedrangcontent:带有ID kix的命名范围。ydbik9q4xmna包含不可替换的内容。";status";INVALID_ARGUMENT"}}
创建指定范围的示例请求:
{
"requests": [
{
"createNamedRange": {
"range": {
"startIndex": 5,
"endIndex": 7
},
"name": "test3"
}
}
]
}