如何使用Google Docs API添加页眉/页脚

时间:2019-07-19 13:18:45

标签: google-docs google-docs-api

我想使用Google Docs API将页眉和页脚添加到现有的Google文档文件中。

通过查看documents.batchUpdatelink),我们可以插入JSON,有效载荷中的replaceAllText,{{1 }}等,但找不到任何插入页眉和页脚的方法。

问题1:如何添加页眉和页脚?

问题2:如何为文档的首页添加不同的页眉/页脚?

如果不可能的话,建议您使用其他任何API或方法(例如使用MS Word)。先感谢您。

1 个答案:

答案 0 :(得分:1)

这个答案怎么样?

问题1:

  • 您要将页眉和页脚添加到Google文档中。

关于这个问题,接下来的流程如何?

流量:

  1. 首先,需要使用浏览器手动打开Goog​​le Document中的页眉和页脚。这样,似乎可以创建页眉ID和页脚ID。

    • 即使文档只有一页,当选中“第一页不同”时,也会为页眉和页脚自动创建第一页的2个ID和其他页面。
      • 我认为这可能是当前的规范。
    • 设置第一页和第二页的页眉和页脚的示例文本不同时,您可以轻松找到ID。
  2. 下一步,它使用Docs API的documents.get方法检索页眉ID和页脚ID。端点如下。

    GET https://docs.googleapis.com/v1/documents/{documentId}?fields=footers%2Cheaders
    
    • 从此结果中,可以检索页眉ID和页脚ID。
    • 您可以看到2个ID用于页眉和页脚。
      • 当您手动将文本设置为页眉和页脚时,如果选中了“第一页不同”,则每个ID均可用于第一页以及除第一页以外的其他页面。 (这是您的问题2的答案。)
  3. 它使用Docs API的documents.batchUpdate方法更新页眉和页脚。端点和请求正文如下。

    POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate
    
    {
     "requests": [
      {
       "insertText": {
        "location": {
         "segmentId": "kix.#####",
         "index": 1
        },
        "text": "sample text"
       }
      }
     ]
    }
    
      kix.#####中的
    • "segmentId": "kix.#####"是页眉ID和页脚ID。这样,可以设置文本。
    • index是插入文本的位置。

问题2:

  • 您想了解在第一页和其他页面之间设置不同值的方法。

关于这个问题,接下来的流程如何?

流量:

  1. 首先,需要使用浏览器在Google文档中手动打开页眉和页脚。这样,似乎可以创建页眉ID和页脚ID。
    • 即使文档只有一页,当选中“第一页不同”时,也会为页眉和页脚自动创建第一页和其他页面的2个ID。
    • 设置第一页和第二页的页眉和页脚的示例文本不同时,您可以轻松找到ID。

此后,流程与问题1的答案相同。

注意:

  • 当您请求上述端点时,请使用OAuth2和服务帐户检索到的访问令牌。并且请使用https://www.googleapis.com/auth/documents作为范围。
  • 关于创建页眉和页脚的ID,我尝试仅使用API​​对新文档进行处理。但是在目前阶段,我还无法实现。我道歉。
    • 当前结果如下。使用带有Google Apps脚本的文档服务添加页眉和页脚时,不会创建ID。仅当手动打开页眉和页脚时,才会创建ID。
    • 从这个结果来看,在当前阶段,我认为这可能是规范。

参考:

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