使用API 将一张幻灯片从Google幻灯片复制到新的演示文稿中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用API 将一张幻灯片从Google幻灯片复制到新的演示文稿中相关的知识,希望对你有一定的参考价值。
我希望使用Google Drive API创建一个新的Google幻灯片,但是从另一个以前的演示文稿复制了一张幻灯片。
我的问题是,是否有可能构建一个新的Google幻灯片并将幻灯片(单一地)插入到新幻灯片中。
或者是否可以从Google演示文稿中删除幻灯片?
尽管不完美,但您可以使用新的Google Slides API来接近。您可以从源演示文稿中读取幻灯片,然后尝试在目标演示文稿中复制它。目前并非所有幻灯片功能都支持API,因此可能会有一些信息丢失的过程。
(2017年2月)截至2016年11月,使用release的Google Slides API,虽然没有直接使用API,但是OP要求的解决方案的替代方案现在可以实现。解决方法是您要复制的ONE SLIDE在其自己的独立文件中。然后,您可以使用两个Google API来实现:Slides API(用于执行文档级功能,如添加新幻灯片)以及Google Drive API(用于面向文件的访问,如复制)。
听起来你正在使用Google APIs Client Library for Ruby,所以你就在那里。下一步是在Google Developers Console中创建一个项目,同时启用Google Drive和Google Slides API,然后在创建OAuth2凭据后下载client_secret*.json
文件。
为了帮助您入门,这里是Ruby quickstart sample for the Drive API,这里是Ruby quickstart for the Slides API。如果你对Python没有“过敏”(如果你是,只是假装它是伪代码;)),我已经让several videos有更多“真实世界”的例子,使用你可以学习的Slides API并迁移到Ruby if期望。
下面是另一个Python示例,您可以移植到Ruby,它完全符合OP的要求,假设您的模板文件是SLIDE_TEMPLATE_FILE
,DRIVE
是您的Drive API服务端点,SLIDES
是Slides API的端点。如果有人给我发了一个Ruby端口,我会用它来更新这个答案。
# query for template file with one slide
TMPLFILE = SLIDE_TEMPLATE_FILE
rsp = DRIVE.files().list(q="name='%s'" % TMPLFILE).execute().get('files')[0]
# copy template file
DATA = {'name': 'Google Drive & Slides API template DEMO'}
DECK_ID = DRIVE.files().copy(body=DATA, fileId=rsp['id']).execute().get('id')
# create 2 more (1 title-only & 1 blank) slides in copied file
reqs = [
{'createSlide': {'slideLayoutReference': {'predefinedLayout': 'TITLE_ONLY'}}},
{'createSlide': {'slideLayoutReference': {'predefinedLayout': 'BLANK'}}},
]
SLIDES.presentations().batchUpdate(body={'requests': reqs},
presentationId=DECK_ID).execute()
最后,是的,您还可以使用deleteObject request从演示文稿中删除幻灯片,并传入要删除的幻灯片/页面的ID。如果您无法隔离ONE SLIDE,则可以采用另一种解决方法:复制整个演示文稿并删除除ONE SLIDE之外的所有页面,然后开始添加新幻灯片。希望API最终会得到“正确的解决方案”,这样我们就不必玩这些游戏了。
API无法从API执行此完整操作。虽然,我们可以create
新的或copy
现有的谷歌演示文稿。或者,我们可以通过ctrl+c
的一个幻灯片和ctrl+v
与另一个幻灯片的浏览器交互来实现。
以上是关于使用API 将一张幻灯片从Google幻灯片复制到新的演示文稿中的主要内容,如果未能解决你的问题,请参考以下文章
BX 滑块,从第一张幻灯片过渡到最后一张幻灯片闪烁(向右然后返回原始)
使用 Java 将 OpenOffice 幻灯片从一个演示文稿复制到另一个演示文稿