google-apps脚本用户必须在OWN驱动器上授予权限才能在app-server的驱动器中打开电子表格?

时间:2014-02-13 20:19:40

标签: google-apps-script google-sheets

go google spreadsheet scripters,

脚本发布者在发布商的驱动器中有电子表格。该脚本执行openByURL。

问题:Google为脚本提供用户授权授权,以更新用户驱动器中的所有电子表格。

这不是剧本的所在!为什么用户希望授予发布者访问用户驱动器中所有电子表格的权限?

我的要求是:用户和脚本发布者都是陌生人。脚本用户拒绝将用户的驱动器公开给脚本发布者。

Publisher希望在隐藏的脚本函数(scriptnames_)

中保持未暴露的专有逻辑
// Script-as-app template.
function doGet() {
  var app = UiApp.createApplication();

  url = "https://docs.google.com/spreadsheet/ccc?key=xxx_X'd_out_xxxxxxxxxxx&usp=sharing";
  var doc = SpreadsheetApp.openByUrl(url);
  var spreadsheet_link = app.createAnchor('<br><br> spreadsheet open ', doc.getUrl()).setId("<br>    <br>spreadsheet link");
  app.add(spreadsheet_link);  

  return app;
}

(是的,我知道我可以让发布商通过电子邮件向用户发送电子表格,但我仍然会遇到需要向发布商的脚本授予授权的用户,这仍然会导致Google请求授权脚本来修改所有用户驱动器上的电子表格。)

如果这是旧讨论的重演,请道歉。我搜索过,看不出这样的措辞。谢谢!

1 个答案:

答案 0 :(得分:1)

正如塞尔说的那样

答案

  

授予对驱动器中电子表格的访问权限并不意味着只允许访问所有电子表格   用户与脚本发布者共享的内容(或公开或“与链接的任何人”)

我通过尝试访问用户的GoogleDrive中的私人电子表格进行测试,并且该脚本确实在执行时出错:

Couldn't open document with id 0Ak2222Ho-SXL222222222222222222: 
You do not have permissions to access the requested document.

我不知道如何将这个问题标记为Serge在评论中所说的答案,所以我会把答案放在这里,希望这个问题能够得到回答。感谢