自动化 Google 幻灯片制作
Automating Google Slides production
我想知道是否可以通过编程方式在 Google 幻灯片中创建演示文稿。因此,例如,如果基础数据发生变化,我可以只刷新甲板,而无需为所有图表等进行大量复制粘贴。
类似于使用 markdown 和 R slidify 来生成数据驱动的 PDF 演示文稿。我的最终产品需要是漂亮漂亮的 Google 幻灯片演示文稿。
这是我可以使用 Google 驱动器 API 的那种东西吗?我不确定 App Script 是否可以像用于表格一样用于幻灯片。
我希望这是一个足够普遍的问题,并且存在解决方案。
一种选择是自动生成 PDF,然后手动导入到 Google 幻灯片中。问题是由于转换错误和缺乏其他幻灯片功能,这种方法有点受限。
非常感谢任何意见。
Google Slides API 于 2016 年 11 月 9 日发布。它提供阅读、创建和编辑 Google 幻灯片演示文稿的能力。
目前 Apps 脚本中还没有等效的服务,但您可以使用 Apps Script OAuth2 library 和 UrlFetchApp
在脚本中调用 API。
来自 Apps 脚本的示例:
在开发者控制台中启用幻灯片 API:
- 单击 资源 > 开发者控制台项目 > [Your_Project_Name].
- 单击启用API,搜索幻灯片并启用幻灯片API。
使用 UrlFetchApp
向幻灯片发送经过身份验证的请求 API
作为 Apps 脚本中的一个简单示例,考虑 fetching the latest version of a Presentation (presentations.get
)。
// 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...
});
presentation
的结构是 also documented in the REST reference. Armed with the REST reference,此示例可以扩展以用于任何幻灯片 API 请求和响应。
2018 年,这个老问题的好消息(和答案!):
- Google Slides REST API 于 2016 年 11 月推出...这里是 它的推出
post 和第一个开发者视频 我制作的目的是帮助您入门。比视频更短的代码示例是 Quickstart in the docs (available in a variety of languages). If you're new to Google APIs, I recommend you watch this video, then this one, and finally this one first to get an idea of how to use them. The code samples are in Python, but if you're not a Python developer, just pretend it's pseudocode because many languages are supported by Google APIs Client Libraries。 :-)
- 如果您使用 JS 编写代码并希望 Google 托管 +运行 您的应用,Slides service in Google Apps Script 于 2017 年 9 月发布...这里是 它的发布
post 和第一个开发者视频 我制作的目的是帮助您入门。这也是幻灯片附加组件背后的相同技术。如果您是 Apps 脚本的新手,我建议您观看 this video to get an idea of what it is and how to use it. Then check out its video library 以了解更多使用 Apps 脚本的示例。 (诚然,与 REST API 相比,编写 w/Apps 脚本更容易,这使得它对开发人员更“上瘾”……你被警告了!):-)
- 有关以编程方式访问 Google 幻灯片的其他视频可以通过我制作的 its developer video library. Videos on this and other G Suite developer technologies can be found in the G Suite Dev Show series 找到。
- 没有这方面的视频,但有文档的开源 Markdown-to-Google Slides generator (written in Node.js) my colleague created that you may be interested in, representing one of the "reference apps" using the Slides API. You can find more about this app as well as others on the Samples page。
- 也没有这方面的视频,但是 Node.js 想要快速了解如何使用这个 API 的开发人员应该尝试 Slides API codelab where you build an app that uses Google BigQuery 来分析开源许可并生成报告演示文稿...让您通过一个教程学习两种 Google 云技术! :-)
我想知道是否可以通过编程方式在 Google 幻灯片中创建演示文稿。因此,例如,如果基础数据发生变化,我可以只刷新甲板,而无需为所有图表等进行大量复制粘贴。
类似于使用 markdown 和 R slidify 来生成数据驱动的 PDF 演示文稿。我的最终产品需要是漂亮漂亮的 Google 幻灯片演示文稿。
这是我可以使用 Google 驱动器 API 的那种东西吗?我不确定 App Script 是否可以像用于表格一样用于幻灯片。
我希望这是一个足够普遍的问题,并且存在解决方案。
一种选择是自动生成 PDF,然后手动导入到 Google 幻灯片中。问题是由于转换错误和缺乏其他幻灯片功能,这种方法有点受限。
非常感谢任何意见。
Google Slides API 于 2016 年 11 月 9 日发布。它提供阅读、创建和编辑 Google 幻灯片演示文稿的能力。
目前 Apps 脚本中还没有等效的服务,但您可以使用 Apps Script OAuth2 library 和 UrlFetchApp
在脚本中调用 API。
来自 Apps 脚本的示例:
在开发者控制台中启用幻灯片 API:
- 单击 资源 > 开发者控制台项目 > [Your_Project_Name].
- 单击启用API,搜索幻灯片并启用幻灯片API。
使用 UrlFetchApp
向幻灯片发送经过身份验证的请求 API
作为 Apps 脚本中的一个简单示例,考虑 fetching the latest version of a Presentation (presentations.get
)。
// 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...
});
presentation
的结构是 also documented in the REST reference. Armed with the REST reference,此示例可以扩展以用于任何幻灯片 API 请求和响应。
2018 年,这个老问题的好消息(和答案!):
- Google Slides REST API 于 2016 年 11 月推出...这里是 它的推出 post 和第一个开发者视频 我制作的目的是帮助您入门。比视频更短的代码示例是 Quickstart in the docs (available in a variety of languages). If you're new to Google APIs, I recommend you watch this video, then this one, and finally this one first to get an idea of how to use them. The code samples are in Python, but if you're not a Python developer, just pretend it's pseudocode because many languages are supported by Google APIs Client Libraries。 :-)
- 如果您使用 JS 编写代码并希望 Google 托管 +运行 您的应用,Slides service in Google Apps Script 于 2017 年 9 月发布...这里是 它的发布 post 和第一个开发者视频 我制作的目的是帮助您入门。这也是幻灯片附加组件背后的相同技术。如果您是 Apps 脚本的新手,我建议您观看 this video to get an idea of what it is and how to use it. Then check out its video library 以了解更多使用 Apps 脚本的示例。 (诚然,与 REST API 相比,编写 w/Apps 脚本更容易,这使得它对开发人员更“上瘾”……你被警告了!):-)
- 有关以编程方式访问 Google 幻灯片的其他视频可以通过我制作的 its developer video library. Videos on this and other G Suite developer technologies can be found in the G Suite Dev Show series 找到。
- 没有这方面的视频,但有文档的开源 Markdown-to-Google Slides generator (written in Node.js) my colleague created that you may be interested in, representing one of the "reference apps" using the Slides API. You can find more about this app as well as others on the Samples page。
- 也没有这方面的视频,但是 Node.js 想要快速了解如何使用这个 API 的开发人员应该尝试 Slides API codelab where you build an app that uses Google BigQuery 来分析开源许可并生成报告演示文稿...让您通过一个教程学习两种 Google 云技术! :-)