【问题标题】:how to access private spreadsheet(owned by me & not shared) by other user如何访问其他用户的私人电子表格(由我拥有且不共享)
【发布时间】:2012-08-14 07:29:31
【问题描述】:

我为我的公司创建了一个应用程序(称为:休假管理),它从谷歌网站(用于 UI)、谷歌电子表格(用于数据库)创建并与谷歌应用程序脚本集成。该应用程序处理离职请求,因此,使用公司电子邮件登录的员工可以从谷歌网站读取和写入电子表格。 这就是问题所在......我不希望员工可以编辑电子表格“直接”......他们应该在谷歌网站上读写......所以电子表格的共享设置必须是“私人”。 ..但是如果电子表格是“私人”的,其他员工就不可能读取或写入...... 在我看来...我们可以访问电子表格,但我们必须有电子邮件电子表格所有者,以及密码...应该是这样的

var Sheet = SpreadsheetApp.openById("SpreadsheetID", "emailSpreadsheetOwner", "passEmailSpreadsheetOwner")

但是是的...它不起作用... 你可以帮帮我吗?? 谢谢:)

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    我在应用程序中使用相同的设置,电子表格设置为“任何知道链接的人都可以编辑”,但没有用户知道工作表的名称或 ID,因此他们只能通过 UI 进行读写操作永远不会打开ss本身。 这不就是你想要的吗?

    【讨论】:

    • 是的,这就是我想要的......但我担心其他员工会知道电子表格的直接链接:(是否有可能知道电子表格的直接链接?
    • 工作表的 ID 仅在脚本编辑器中可见我认为用户不可能获得 ID(但我不是一个“好”黑客 ;-)跨度>
    【解决方案2】:

    有两种部署应用程序的方法。根据您的要求,让您的应用程序作为脚本的所有者运行,而不是作为“访问网络应用程序的用户” 这样,您(脚本的所有者)可以保持电子表格的私密性,但能够在其他用户访问应用程序时对其进行写入和读取。

    【讨论】:

    • 是的,它的工作......但我忘记告诉这个应用程序使用 MailApp.sendEmail......所以如果我更改应用程序作为脚本的所有者而不是作为访问网络的用户运行应用程序,所有已发送电子邮件的发件人都是由脚本所有者发送的:(
    • 在这种情况下,您没有太多选择。使用 Serge 的方法,希望没有人能找到电子表格 ID。否则,您可以使用 MailApp.sendEmail 中的高级选项,以便电子邮件“看起来”来自其他人而不是所有者。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多