gpt4 book ai didi

javascript - Google Slides API 无法从页面实例读取幻灯片内容 (Node.Js)

转载 作者:太空宇宙 更新时间:2023-11-04 00:02:56 25 4
gpt4 key购买 nike

我正在尝试从幻灯片演示文稿中读取文本(作为复制和粘贴的解决方法,因为所有幻灯片都具有相同的精确格式)。使用此代码时:

res.data.pageElements.forEach((file) => {
let textElements = file.shape.text.textElements;
textElements.forEach(function(each){
console.log(each.textRun.content);
});
});

即使响应说如果我使用console.log(res.data.pageElements.shape.text.textElements.textRun)它就在那里,引用我的做法,返回 undefined

如果我的问题有解决方案,或者您知道将演示文稿 X 的一面复制到演示文稿 Y 的解决方法,请告诉我。提前致谢!

有一个问题跟踪器: https://issuetracker.google.com/36761705

最佳答案

这个修改怎么样?从您的脚本中,我假设您使用 slides.presentations.pages.get() 检索 res

修改点:

  • 返回对象的元素中存在带有和不带有 res.data.pageElements.shape.text.textElements.textRun 的对象。
    • res.data.pageElements 没有 shape 属性。
    • res.data.pageElements.shape 没有 text 属性。
    • res.data.pageElements.shape.text 没有 textElements 属性。
    • res.data.pageElements.shape.text.textElements 没有 textRun 属性。

我认为这可能是您出现问题的原因。

修改后的脚本:

slides.presentations.pages.get({
presentationId: presentationId,
pageObjectId: pageObjectId,
}, (err, res) => {
if (err) {
console.log(err);
} else {
res.data.pageElements.forEach((file) => {
if (file.shape && file.shape.text && file.shape.text.textElements) {
let textElements = file.shape.text.textElements;
textElements.forEach(function(each) {
if ("textRun" in each) {
console.log(each.textRun.content);
}
});
}
});
}
});

注意:

  • 我认为您还可以使用 if ("shape"in file && "text"in file.shape && "textElements"in file.shape.text) { 而不是 if (file.shape && file.shape.text && file.shape.text.textElements) {
  • 如果您使用 slides.presentations.get() 检索 res,请将 res.data.pageElements.forEach((file) => {}) 修改为 res.data.slides.forEach((slide) => {slide.pageElements.forEach((file) => {})})

如果我误解了您的问题,请告诉我。我想修改一下。

关于javascript - Google Slides API 无法从页面实例读取幻灯片内容 (Node.Js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53860533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com