我想在不在同一个域中的用户之间复制一份Google电子表格文件。源文件的共享设置 可以编辑链接的任何人。 我创建了一个Web应用程序(执行权限设置为用户访问Web应用程序),调用安装功能:
我希望代码能够读取对所有人开放的源文件,并将本地副本发送到运行Web App的用户的Google Drive(当然假设用户接受运行脚本)。当我运行它时行为起作用(因为我是源的所有者)但如果用户来自另一个域则不起作用。
有关如何实现这一目标的任何建议吗?
function doInstall() {
// The source file is readable by everybody with the link;
var file = DocsList.getFileById('0AlVPTKz1xoevdHc1ZTQ2OGFMXXXXXXXYYYYZZZZ');
file.makeCopy('Test Copy Spreadsheet');
}
答案 0 :(得分:0)
我有一个不同但相似的用例和问题。与您一样,任何拥有该链接的人都可以访问我的源文件,我的域设置允许用户在我的域外共享内容。它对我有用,但不适合他们。
这可能对你有用,对我来说(到目前为止):
假设你有原始剧本......
根据我的经验,到目前为止,外部用户已经能够访问DocsList方法返回null时无法访问的文件。但还有一件事要补充......您可能会发现必须与用户共享您的Web应用程序脚本。我还没有确定那是必要的,但是当我不这样做时我遇到了错误。我解开了通过电子邮件发送链接的选项。
我从examples in the documentation,this video以及StackOverflow学习了如何做到这一点。
正如你所看到的,我自己仍在努力解决这个问题,到目前为止,系统的测试只是模拟其他用户。所以没有承诺。祝好运!我会为你的问题加注星标。