【问题标题】:Is there any way to pass configuration parameters to an Outlook Addin有没有办法将配置参数传递给 Outlook 插件
【发布时间】:2021-03-05 23:19:42
【问题描述】:

我有一个 JS Outlook 插件,我希望能够将它部署到多个站点,但如果可能的话,我希望将相同的代码部署到每个站点并在外部处理配置数据。客户端应用程序的类似 process.env(适用于 Node.js 服务器应用程序)的东西。我看到可以在 Azure 中定义应用程序设置,但是如何访问应用程序中的值?

【问题讨论】:

  • 您能否在此处更清楚地说明您要做什么? (只是为了确保您指的是 Outlook 加载项,例如:docs.microsoft.com/en-us/office/dev/add-ins/outlook/…)有一个漫游设置 api,但我不确定这是否符合您的情况。因此,如果您能更详细地描述您具体想做什么,那可能会有所帮助。
  • 是的,该链接是指我正在使用的加载项类型。我想要的实际配置数据是 Node.js 服务器应用程序的 ID(网址);目前,我有这个硬编码,这是不令人满意的。谢谢
  • 这是硬编码在 Outlook 加载项的清单中还是在加载项的 JavaScript 中?对于 Azure 应用程序设置,这就是您所指的吗? docs.microsoft.com/en-us/azure/app-service/configure-common
  • 在应用程序(JS)中硬编码 - AFAIK,应用程序无法在运行时访问清单,否则这可能是一个解决方案。重新应用设置,是的,这是一个相关链接。
  • 是的,没错。加载项的 JS 无法在运行时访问清单。由于加载项加载清单中指定的 URL,因此您可以利用 URL 中的查询字符串/参数并在运行时访问它们。那会奏效吗?我对 Azure 应用设置不是很熟悉,所以如果我在这里遗漏了什么,请告诉我。

标签: javascript parameters outlook outlook-addin


【解决方案1】:

如果您能够向每个客户分发不同的清单,则可以向清单中的任何SourceLocation URL 添加查询参数,以便在启动时将信息传递给加载项。

<bt:Url id="Taskpane.Url" DefaultValue="https://contoso.azurewebsites.net/Taskpane.html?<per-customer query string>" />

【讨论】:

    【解决方案2】:

    感谢 Outlook 插件团队,工作正常;为了任何其他读者的利益,一些细节

    1. 使用 URLSearchParams() 可以轻松提取目标 JS 中的参数值
    2. 此解决方案将客户差异集中在 Manifest 中,将大部分解决方案留在 JS 中,这对于所有部署都是相同的,这是一个关键目标
    3. 顺便说一句:使用 ~remoteAppUrl 可以将客户对 Manifest 的差异降至最低

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 2019-12-09
      相关资源
      最近更新 更多