这是我用来将Google幻灯片转换为图像的代码:
function myFunction() {
var dApp = DriveApp;
var folder = dApp.getFoldersByName("til");
var til = folder.next();
var filesIter = til.getFiles();
var i = 0;
while(filesIter.hasNext() && i < 50){
var file = filesIter.next();
Logger.log(file.getId());
exportSlideImages(file.getId(), file.getName())
break;
i = i + 1;
}
}
function exportSlideImages(presentationId, imageName) {
var presentation = SlidesApp.openById(presentationId);
var baseUrl =
"https://slides.googleapis.com/v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail";
var parameters = {
method: "GET",
headers: { Authorization: "Bearer " + ScriptApp.getOAuthToken() },
contentType: "application/json",
muteHttpExceptions: true
};
presentation.getSlides().forEach(function(slide, i) {
var url = baseUrl
.replace("{presentationId}", presentationId)
.replace("{pageObjectId}", slide.getObjectId());
var response = JSON.parse(UrlFetchApp.fetch(url, parameters));
Logger.log(response)
var blob = UrlFetchApp.fetch(response.contentUrl).getBlob();
blob.setName(imageName +'.png');
DriveApp.createFile(blob);
});
}
它确实创建了一个图像文件,但是我在文件中得到了以下输出:
“ code”:403,“ message”:“ Google Slides API之前未在项目396798675804中使用,或者已被禁用。请通过访问(此处提供了链接)启用它,然后重试。如果最近启用了此API,请等待几分钟,以便该操作传播到我们的系统并重试。”,
但是我不明白,我没有任何ID为396798675804的项目。我在做什么错?任何指针?
您必须启用Google Slides Advanced服务,因为您的代码正在使用UrlFetchApp调用Slides API
有关
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句