这个答案怎么样?
问题一:
关于这个问题,下面的流程怎么样?
流程:
-
首先,需要使用浏览器手动打开 Google Document 中的页眉和页脚。这样,似乎可以创建页眉ID和页脚ID。
- 即使Document只有一页,当勾选“不同的第一页”时,会自动为页眉和页脚创建第一页和其他页面的2个ID。
- 当第一页和第二页的页眉和页脚设置不同的示例文本时,您可以轻松找到 ID。
-
下一步,它使用Docs API 的documents.get 方法检索页眉ID 和页脚ID。端点如下。
GET https://docs.googleapis.com/v1/documents/{documentId}?fields=footers%2Cheaders
- 从这个结果中,可以检索到页眉 ID 和页脚 ID。
- 您可以看到页眉和页脚的 2 个 ID。
- 当您手动设置页眉和页脚的文本时,如果您选中“不同的第一页”,则每个 ID 都可以用于第一页和除第一页之外的其他页面。 (这是您问题 2 的答案。)
-
它使用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:
关于这个问题,下面的流程怎么样?
流程:
- 首先需要用浏览器手动打开谷歌文档的页眉和页脚。这样,似乎可以创建页眉 ID 和页脚 ID。
- 即使Document只有一页,当勾选“第一页不同”时,会自动为页眉和页脚创建第一页和其他页的2个ID。
- 当第一页和第二页的页眉和页脚设置不同的示例文本时,您可以轻松找到 ID。
此后,流程与问题1的答案相同。
注意:
- 当您请求上述端点时,请使用通过 OAuth2 和服务帐户检索到的访问令牌。请使用
https://www.googleapis.com/auth/documents 作为范围。
- 关于创建页眉和页脚的 ID,我已尝试仅使用 API 对新文档进行此操作。但在现阶段,我还达不到。我道歉。
- 当前结果如下。使用带有 Google Apps 脚本的文档服务添加页眉和页脚时,不会创建 ID。只有手动打开页眉和页脚时,才会创建 ID。
- 从这个结果来看,在当前阶段,我认为这可能是规范。
参考资料:
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
2022 年 1 月 1 日更新:
当我回答这个问题时,无法使用 Google Docs API 添加页眉和页脚。在当前阶段,可以使用 Google Docs API 添加这些内容。我有一个联系人要求更新这个。所以我添加了使用 Google Docs API 向 Google Document 添加页眉和页脚的方法。
在当前阶段,当您想使用Docs API向Google Document添加header和hooter时,似乎需要使用2个API调用,因为似乎无法手动给出header ID和footer ID。
流程(标题):
1。创建标题。
网址和请求正文如下。
POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate
{
"requests": [
{
"createHeader": {
"sectionBreakLocation": {
"index": 0
},
"type": "DEFAULT"
}
},
]
}
由此,返回以下响应。
{
"replies": [
{
"createHeader": {
"headerId": "kix.###"
}
}
],
"writeControl": {
"requiredRevisionId": "###"
},
"documentId": "###"
}
2。输入文字。
当你想将文本插入到表头时,它使用headerId,如下所示。
POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate
{
"requests": [
{
"insertText": {
"location": {
"segmentId": "kix.###", <--- headerId
"index": 0
},
"text": "sample text"
}
}
]
}
流(页脚):
1。创建标题。
网址和请求正文如下。
POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate
{
"requests": [
{
"createFooter": {
"type": "DEFAULT"
}
}
]
}
由此,返回以下响应。
{
"replies": [
{
"createFooter": {
"footerId": "kix.###"
}
}
],
"writeControl": {
"requiredRevisionId": "###"
},
"documentId": "###"
}
2。输入文字。
当你想将文本插入到表头时,它使用footerId,如下所示。
POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate
{
"requests": [
{
"insertText": {
"location": {
"segmentId": "kix.###", <--- footerId
"index": 0
},
"text": "sample text"
}
}
]
}
参考资料: