gpt4 book ai didi

google-apps-script - 尝试将 ppt 转换为 Google Slide 时收到转换错误

转载 作者:行者123 更新时间:2023-12-02 00:37:01 26 4
gpt4 key购买 nike

在我的谷歌脚本程序中,我试图迭代一个文件夹并将所有 ppt 文件制作成谷歌幻灯片文件。

function makeSlides(url) {
slideUrls = [];
var id = getId(url);
var powerPoints = DriveApp.getFolderById(id).getFilesByType(MimeType.MICROSOFT_POWERPOINT);

// turn ppt into slides
while(powerPoints.hasNext()) {
var powerPoint = powerPoints.next()
try{
var sheet = powerPoint.getBlob().getAs(MimeType.GOOGLE_SLIDES);
DriveApp.getFolderById(url).createFile(sheet)
Logger.log("OK " + powerPoint.getName());
}catch(e) {
Logger.log("ERROR: " + e)
}
}

检查日志后出现错误

Exception: Converting from application/vnd.openxmlformats-officedocument.presentationml.presentation to application/vnd.google-apps.presentation is not supported.

我知道在 Google 云端硬盘的用户界面中,您可以将 ppt 作为 Google 幻灯片打开。有什么解决办法吗?还是我做错了?

我确实找到了this但这与我想要实现的目标相反。

最佳答案

它无法使用getAs()从Powerpoint格式转换为Google幻灯片。您可以使用 Drive API 来实现此目的。在此修改中,我通过高级 Google 服务使用了 Drive API。

使用此脚本时,请在高级 Google 服务和 API 控制台中启用 Drive API。您可以在here查看此信息。 .

修改后的脚本:

请修改如下。

从:
var sheet = powerPoint.getBlob().getAs(MimeType.GOOGLE_SLIDES);
DriveApp.getFolderById(url).createFile(sheet)
到:
Drive.Files.insert({title: powerPoint.getName(), mimeType: MimeType.GOOGLE_SLIDES}, powerPoint.getBlob());

注意:

  • 在此修改后的脚本中,转换后的文件将创建到根文件夹中。如果要在特定文件夹中创建,请从{title: powerPoint.getName(), mimeType: MimeType.GOOGLE_SLIDES}修改至{title: powerPoint.getName(), mimeType: MimeType.GOOGLE_SLIDES, parents: [{id: folderId}]} .
  • 如果您想从转换后的文件中检索文件 ID,请使用 var id = Drive.Files.insert({title: powerPoint.getName(), mimeType: MimeType.GOOGLE_SLIDES}, powerPoint.getBlob()).id .

引用文献:

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

关于google-apps-script - 尝试将 ppt 转换为 Google Slide 时收到转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53990883/

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