【问题标题】:Spreadsheet UI - User prompted to open or save userAppPanel from docs.google.com电子表格 UI - 提示用户从 docs.google.com 打开或保存 userAppPanel
【发布时间】:2013-08-07 12:04:25
【问题描述】:

我的 UI 适合我(我是电子表格所有者和脚本创建者)。但是,当我与其他用户共享电子表格时,UI 无法完全显示,系统会提示他们从 docs.google.com 打开或保存userAppPanel

我已将我的脚本完全缩减为以下内容,但还是不走运:

function showDialog() {
    // Create the UI application
    var uiApp = UiApp.createApplication();

    // Provide the Popup with a title
    uiApp.setTitle('Parameter Collection Dialog');

    // Create an user instruction label
    var lblInstructions = uiApp.createLabel()
      .setText('Select a type of Person and Country');

    // Add the panel to the application
    uiApp.add(lblInstructions);

    // Show the application in the spreadsheet
    var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
    spreadSheet.show(uiApp);
}

当脚本从脚本编辑器为每个尝试的用户运行脚本时,UI 工作 - 但是,当我将它连接到“打开电子表格”触发器时,脚本只对我有用 - 没有其他人.

我已经接近完成我的要求,这是一个非常令人沮丧的最后一个障碍。

非常感谢

更新:请参阅我的评论以获取解决方案,即使用 onOpen 函数而不是手动 onOpen 触发器。

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    我已尝试重现该问题,并且能够轻松地做到这一点。这似乎是一个错误。我建议您在Issue Tracker 中打开一个问题并使用错误号更新此线程。

    【讨论】:

      【解决方案2】:

      感谢您确认斯里克。但是,我已经制定了一个解决方案:

      我通过脚本编辑器手动将 showDialog 函数连接到 On Open 触发器。但是,如果您将 showDialog() 函数名称更改为 onOpen(),那么您不必手动将该函数连接到事件,因为 onOpen 是一个内置事件,它现在适用于所有用户(前提是他们是共享用户,并登录)。

      我也会打开一个问题,因为我相信它应该双向工作。

      希望我的解决方案也能帮助其他人:)

      【讨论】:

        【解决方案3】:

        不幸的是,重命名函数 onOpen 的解决方法并不总是适用,例如,当您需要该函数以某人(例如您自己)的身份运行时。如果您将其重命名为 onOpen(),它将在没有身份的情况下运行。我不能这样做,因为我需要对数据库进行身份验证。

        这似乎证实问题与触发脚本的人的身份有关。

        您发布过问题吗?可以分享一下链接吗?

        【讨论】:

        • 经过几次测试后,可以了解更多详情。这似乎是由于用户触发脚本执行,以及触发器的特性: - 如果从电子表格中的自定义菜单调用函数,那么每个人都可以正常工作 - 如上所述,如果调用函数onOpen(),对每个人来说一切都很好——如果函数是由一个设置了可安装的 onEdit 或 onOpen 函数的函数触发的,那么对设置它的人来说一切正常,而对其他人不利。无论该人是否是所有者,都会观察最后的行为。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-16
        • 1970-01-01
        相关资源
        最近更新 更多