google docs api - 文档显示了如何 'dump' doc as JSON 进行故障排除,但返回的 JSON 与用于发出请求的 JSON 不同

google docs api - documentation shows how to 'dump' doc as JSON for troubleshooting, but JSON returned is different than JSON used to make requests

我正在使用 google 文档 api 编写 google 文档,我发现有一个 json 'dump' 功能可以帮助您了解 google 文档的结构。

唯一的问题是,JSON 转储与用于实际编写文档的 JSON 不同。

例如,这是我发现 JSON 转储的地方:

https://developers.google.com/docs/api/samples/output-json

截断的 JSON 示例如下所示:

{
    "body": {
        "content": [
            {
                "endIndex": 1, 
                "sectionBreak": {
                    "sectionStyle": {
                        "columnSeparatorStyle": "NONE", 
                        "contentDirection": "LEFT_TO_RIGHT"
                    }
                }
            }, 
            {
                "endIndex": 75, 
                "paragraph": {
                    "elements": [
                        {
                            "endIndex": 75, 
                            "startIndex": 1, 
                            "textRun": {
                                "content": "This is an ordinary paragraph. It is the first paragraph of the document.\n", 
                                "textStyle": {}
                            }
                        }
                    ], 
                    "paragraphStyle": {
                        "direction": "LEFT_TO_RIGHT", 
                        "namedStyleType": "NORMAL_TEXT"
                    }
                }, 
                "startIndex": 1
            }, 

这里是对您的文档提出更新请求的文档:

https://developers.google.com/docs/api/reference/rest/v1/documents/request

基本上我所看到的是两者有一些共同的一般结构,但实际编写 JSON 的符号是不同的。

例如,这里有一个如何写入文档的例子:

      const updateObject = {
        documentId: 'documentID',
        resource: {
          requests: [ {
            insertText: {
              text: 'hello world',
              location: {
                index: 1,
              },
            },
          } ],
        },
      };

我希望有一种方法可以按照转储的结构化方式编写 json,然后传递该格式以创建新文档。否则我将不得不繁琐地将所有内容从一种格式翻译成另一种格式(而且有很多),

有人对此有什么建议吗?也许我缺少什么。谢谢!

这似乎是有意为之。示例中的 JSON 转储与 Document object. You can also find this same structure returned when you create a document via thedocuments.create API 匹配。不幸的是,几乎所有字段都是 output-only。我尝试将示例中的 body 插入 API,虽然没有失败,但它也忽略了输入,只是创建了一个基本文档。

与此同时,您发现的用于发送更新请求的 batchUpdate 方法似乎都集中在特定的更改上,其中 none 接受一个 Document 对象。我认为您最好的选择是跟进您发现的功能请求,毕竟文档 API 仍然在 v1 中考虑。