问题描述
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);
});
}
“代码”:403, “ message”:“ Google幻灯片API之前未在项目396798675804中使用,或者已被禁用。请通过访问启用它 (这里有一个链接) 然后重试。如果您最近启用了此API,请等待几分钟 传播到我们的系统并重试的操作。”,
但是我不明白,我没有ID为396798675804的任何项目。我在做什么错?有指针吗?
解决方法
您必须启用Google Slides Advanced服务,因为您的代码正在使用UrlFetchApp调用Slides API
相关