我有一个程序可以从融合表中获取数据,将其放入谷歌文档中(使用我制作的模板),使其成为 pdf,然后显示指向它的链接(指向 pdf)。我的问题是它适用于我的帐户,但如果其他人试图点击它,他们会不断收到“404 Not Found”错误。我的猜测是出现错误是因为我是唯一允许查看文件的人。我的问题是:有没有办法以编程方式与组织中的每个人共享文件,或者有其他方法吗?
问问题
1332 次
1 回答
4
您可以使用DocsList.addViewers(viewersEmails[])
这是一个示例,它将查看器列表作为参数,将它们添加为查看器并发送带有链接的电子邮件:
function addviewers(viewers) { // pass emails as a string in CSV
var viewerssArray = viewers.replace(/, /g,",").split(",");// the 'replace' is there to remove any spaces that could be in the string
Logger.log(viewersArray.length+' : '+viewersArray);
var file = DocsList.getFileById('your doc ID').addViewers(viewersArray);
var docurl=file.getUrl();
for (nn=0;nn<viewersArray.length;++nn){
MailApp.sendEmail(viewersArray[nn], 'your document', docurl);
}
}
我最初使用“编辑器”作为变量名,现在改为“查看器”以避免混淆。
如果您确实需要将域中的每个人都包括在内以获取访问权限,我想最好的解决方案是创建一个包含所有用户的组以简化流程。
编辑:可能有一个更简单的解决方案是将文件移动到共享文件夹中:文件夹中的所有项目都具有与文件夹本身相同的共享参数。
例子 :
function sharebyFolder(){
var file = DocsList.getFileById('docId');
var folder = DocsList.getFolderById('shared folder Id');
file.addToFolder(folder)
}
于 2012-07-06T17:55:11.370 回答