问题描述
我使用的Google App脚本创建了一张新幻灯片
var targetDocument = SlidesApp.create("New Doc");
var targetDocumentUrl = targetDocument.getUrl();
在对targetDocument进行了一些修改(所有工作都可以完成)之后,我想使用脚本通过电子邮件将targetDocumentUrl发送给特定的人
function sendEmail(recipient,subject,fileUrl){
var file = DriveApp.getFileById(getIdFromUrl(fileUrl));
GmailApp.sendEmail(recipient,'Here is the file' + fileUrl + ' body of message',{
attachments: [file.getAs(MimeType.PDF)],name: 'Auto Emailer'
});
}
尽管电子邮件正常发送,但网址不是公共网址。如何确保该URL可被任何收件人访问? 在google app脚本中找不到访问权限的任何属性。
解决方法
解决方案:
要创建特定文件的公共共享链接,您可以执行以下操作:
function createSlide() {
const name = "New Doc"
const targetDocument = SlidesApp.create(name);
const targetDocumentUrl = targetDocument.getUrl();
const file = DriveApp.getFileById(targetDocument.getId());
//file.setSharing(DriveApp.Access.ANYONE_WITH_LINK,DriveApp.Permission.EDIT);
file.setSharing(DriveApp.Access.DOMAIN_WITH_LINK,DriveApp.Permission.EDIT);
}
如果您来自 G Suite 帐户,请使用:
file.setSharing(DriveApp.Access.DOMAIN_WITH_LINK,DriveApp.Permission.EDIT);
否则,您应该可以使用:
file.setSharing(DriveApp.Access.ANYONE_WITH_LINK,DriveApp.Permission.EDIT);
要求:
不要忘记激活Drive API:资源 => 高级Google服务:启用 Drive API :