Google apps script 在通过oAuth将用户部署为webapp授权后,如何更新附加菜单?

Google apps script 在通过oAuth将用户部署为webapp授权后,如何更新附加菜单?,google-apps-script,Google Apps Script,我目前正在开发一个通过oauth连接到salesforce的附加组件(如下所示)。用户连接后,我想更新我的加载项菜单以反映登录状态(并更改一些选项,例如添加注销选项)。如何做到这一点?当我在doGet()回调期间尝试这样做时,我得到一个错误,“api方法'getUi'仅在新版Google Sheets中可用。”我还想过使用基于时间的触发器,但在基于时间的触发器期间不允许使用getUi web应用程序执行和基于时间的触发器执行都发生在文档UI会话的上下文之外,因此无法更改菜单。一个好的替代方法是为

我目前正在开发一个通过oauth连接到salesforce的附加组件(如下所示)。用户连接后,我想更新我的加载项菜单以反映登录状态(并更改一些选项,例如添加注销选项)。如何做到这一点?当我在doGet()回调期间尝试这样做时,我得到一个错误,“api方法'getUi'仅在新版Google Sheets中可用。”我还想过使用基于时间的触发器,但在基于时间的触发器期间不允许使用getUi

web应用程序执行和基于时间的触发器执行都发生在文档UI会话的上下文之外,因此无法更改菜单。一个好的替代方法是为回调使用
/usercallback
URL和状态令牌系统,而不是web应用程序,因为这种执行确实在文档的UI会话中运行:


Salesforce在允许访问时要求回调URL完全匹配。当状态标记每次都不同时,我该如何做呢?OAuth2规范特别允许一个名为“state”的URL参数,所以它应该可以工作。你试过了吗?