所以,这是用例。我在 Salesforce Marketing Cloud 工作,担任技术架构师。我们有一个非常强大的“营销云”应用程序,我没有对其进行任何开发。我无权访问源代码/等。不过,作为用户,我确实可以访问该应用程序。
应用程序的快速 2 句话概述:像“公司 A”这样的大公司利用我们的软件能够向他们的客户发送数十亿封电子邮件(促销和交易)。因此,假设您收到一封来自“A 公司”的电子邮件,告诉您他们提供的所有优质产品 - 该电子邮件是从我们的系统发送的。
因此,用例:为简单起见,Marketing Cloud 应用程序能够从 HTML 创建电子邮件。基本上,用户(我自己)可以将 HTML 复制/粘贴到巨大的文本字段中,然后单击保存,然后将电子邮件代码保存到后端(SQL Server 表)中。此应用程序没有任何类型的源代码控制来管理用户决定创建/更改/修改的“电子邮件”的不同版本。
现在,我可以通过 C#/SSJS 开发一个自定义的“whatever”,它可以访问应用程序写入的数据库中的所有元素。因此,如果我想获取用户保存的“电子邮件”的最新版本,我可以简单地编写一个 SQL 查询来获取该内容。
这是我的目标:创建一个非常简单的版本控制系统,而无需进入应用程序的源代码。雄心勃勃,我知道。我将所有不同的部分都映射到了一个文档中,但我遇到的一个障碍是“当用户单击“保存”并保存电子邮件时,如何捕获“保存”事件?我相信这是一个客户端事件,但我不是 100% 确定。我最初的想法是编写一个浏览器扩展,但不知道浏览器扩展到底有什么能力,我不确定这是否是一条好路。当我无法访问源代码时,如何从基于 Web 的应用程序的 UI 中捕获事件?