Google apps script 自动化谷歌幻灯片制作
我想知道是否有一种方法可以通过编程在谷歌幻灯片中创建演示文稿。因此,例如,如果基础数据发生变化,我可以只刷新数据组,而不需要对所有图表进行大量的复制粘贴等 类似于使用markdown和R Slideify生成数据驱动的PDF演示文稿。我的最终产品需要是一个漂亮的谷歌幻灯片演示 这就是我可以使用GoogleDriveAPI做的事情吗?我不确定应用程序脚本是否可以像用于工作表一样用于幻灯片 我希望这是一个足够普遍的问题,有一个解决方案存在 一种选择是自动生成PDF,然后手动导入到谷歌幻灯片中。问题是,由于转换错误和缺少其他幻灯片功能,这种方法有点有限 非常感谢您的任何意见。请求的功能,请关注更新。于2016年11月9日发布。它提供了阅读、创建和编辑谷歌幻灯片演示文稿的能力Google apps script 自动化谷歌幻灯片制作,google-apps-script,google-drive-api,google-slides-api,Google Apps Script,Google Drive Api,Google Slides Api,我想知道是否有一种方法可以通过编程在谷歌幻灯片中创建演示文稿。因此,例如,如果基础数据发生变化,我可以只刷新数据组,而不需要对所有图表进行大量的复制粘贴等 类似于使用markdown和R Slideify生成数据驱动的PDF演示文稿。我的最终产品需要是一个漂亮的谷歌幻灯片演示 这就是我可以使用GoogleDriveAPI做的事情吗?我不确定应用程序脚本是否可以像用于工作表一样用于幻灯片 我希望这是一个足够普遍的问题,有一个解决方案存在 一种选择是自动生成PDF,然后手动导入到谷歌幻灯片中。问题是
目前,应用程序脚本中仍然没有等效的服务,但您可以使用和
UrlFetchApp
在脚本中调用API。应用程序脚本中的示例:
在开发人员控制台中启用幻灯片API:
UrlFetchApp
向幻灯片API发送经过身份验证的请求
作为应用程序脚本中的一个简单示例,请考虑(<代码>演示文稿>获取/代码>)。< /P>
演示文稿的结构在REST参考中。借助,此示例可以扩展为与任何幻灯片API请求和响应一起使用。现在是2018,这个老问题的好消息(和答案!):
- 2016年11月推出的。。。这是我为你准备的。与视频相比,文档中的代码示例更短(可提供多种语言)。如果你是谷歌API的新手,我建议你先看看,然后,最后,先了解一下如何使用它们。代码示例是用Python编写的,但如果您不是Python开发人员,就假设它是伪代码,因为许多语言都受以下代码支持::-)李>
- 如果您使用JS编写代码,并希望让Google host+运行您的应用程序,那么in将于2017年9月推出。。。这是我为你准备的。这也是幻灯片附加组件背后的相同技术。如果您对应用程序脚本不熟悉,我建议您通过观看了解它是什么以及如何使用它。然后查看更多使用应用程序脚本的示例
- 有关以编程方式访问谷歌幻灯片的其他视频,请访问。在我制作的视频中可以找到关于这个和其他G套件开发人员技术的视频
- 这里没有视频,但有一个开源(用Node.js编写)是我同事创建的,您可能会感兴趣,它代表了使用Slides API的一个“参考应用程序”。您可以在文档的第页找到有关此应用程序以及其他应用程序的更多信息
- 这方面也没有视频,但是Node.js开发人员如果想快速了解如何使用此API,应该尝试使用where you build app来分析开源许可证并生成报告演示文稿。。。让您通过一个教程学习两种谷歌云技术!:-)李>
可以使用drive sdk创建空白的,但无法向其中添加内容。驱动器SDK也可以进行上传和转换。我想知道是否有办法使用AppScript添加/编辑内容。从在线文档中我无法得知。不,没有API访问slidesAPI访问权限:
// Add your presentation ID
var presentationId = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
// Force add the Drive scope (as this comment *will* get parsed
// and trigger a popup to authorize Drive access)
// DriveApp.createFile('')
// URL formed as per the Slides REST documentation
var url = 'https://slides.googleapis.com/v1/presentations/' + presentationId;
var options = {
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken()
}
};
var response = UrlFetchApp.fetch(url, options);
// Turn this back into a JS Object so it can be used.
var presentation = JSON.parse(response.getContentText());
// Log the ID of the presentation
Logger.log(presentation.presentationId);
// Log the number of slides...
Logger.log(presentation.slides.length);
// Loop through the slides
var slides = presentation.slides;
slides.forEach(function(slide) {
// ... do something with each slide...
});