【问题标题】:google docs api documents.get multiple fields ? (nodejs)google docs api 文档。获取多个字段? (节点)
【发布时间】:2022-01-01 02:35:22
【问题描述】:

使用documents.get时如何选择多个字段?

现在我得到这样的文件:

  const doc = await docs.documents.get({
    documentId: copiedFile.data.id,
    fields: 'body/content'
  });

返回这个:

"data": {
  "body": {
    "content": [...]
  }
}

但是,我还需要获得 inlineObject,到目前为止,我能够这样做的唯一方法是完全删除 fields 属性

  const doc = await docs.documents.get({
    documentId: copiedFile.data.id,
  });

然后我明白了:

"data": {
  "title": "Some document title",
  "body": {
    "content": [...]
  },
  "headers": {
  },
  "footers": {
  },
  "documentStyle": {
  },
  "namedStyles": {
  },
  "lists": {
  },
  "revisionId": "some-long-id",
  "suggestionsViewMode": "SUGGESTIONS_INLINE",
  "inlineObjects": {
  },
  "documentId": "some-long-id"
}

但我真的只对data.body.contentdata.inlineObjects 感兴趣 选择所有内容时,响应会增大数千行 json,这是我不想要的。

我试过fields: ['body/content', 'inlineObjects'],但它只返回body.content,而不是inlineObjects——同样documentation也没有在任何地方提到这个语法,只是为了试验。

【问题讨论】:

    标签: javascript node.js google-docs-api


    【解决方案1】:

    我认为当您在文档中没有任何 inlineObjects 时,它不会返回任何 inlineObjects。要确认实际格式是否有效并且上述语句是否正确,请尝试使用其他已确认返回值的字段,例如 revisionIdtitle

    测试:

    const doc = await docs.documents.get({
      documentId: copiedFile.data.id,
      fields: 'body/content,inlineObjects'
    });
    

    输出:

    【讨论】:

    • 太好了,感谢您的启发!所以语法是:fields: 'body/content,inlineObjects' 在一个字符串中 - (在 JavaScript 中工作时这有点不寻常)。我对其进行了测试,它完全按照我的需要工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    相关资源
    最近更新 更多