0

我正在尝试开发一个带有自定义函数的 Excel 插件和一个与现有远程 Web 应用程序交互的任务窗格,我已经向其中添加了加载 OfficeJS 和我的自定义函数的页面。该服务在登录后使用基于 cookie 的会话身份验证。fetch在我的自定义公式中使用的请求中获得身份验证的最简单方法是什么?我是否必须使用 Office Dialog API 进行身份验证?我可以直接在任务窗格中进行本地登录 - 为什么需要使用 Office Dialog API?

一旦我有一个有效的经过身份验证的浏览器会话,我可以在共享运行时中使用该会话来自动验证我的自定义函数发出的 ajax 请求吗?我试图让一个共享运行时来测试这个,但无济于事。我的清单有效,加载项将通过旁加载安装,并且任务窗格将加载,但是当我执行自定义函数时,共享运行时尝试启动然后超时,运行时日志中没有错误消息。插件错误信息

4

1 回答 1

0

对于评论中的每个对话,要对 Excel 加载项或自定义函数使用基于 cookie 的身份验证,您需要使用共享运行时。您可以通过将 Runtimes 元素添加到清单中来进行配置,并为您想要共享的所有组件使用相同的资源 ID/页面,在这种情况下,这将是您的任务窗格和您的自定义函数。

<VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
  <Hosts>
    <Host xsi:type="Workbook">
      <Runtimes>
        <Runtime resid="ContosoAddin.Url" lifetime="long" />
      </Runtimes>
      ...

      <Page>
          <SourceLocation resid="ContosoAddin.Url"/>
      </Page>
...

可以在此处找到详细的演练:https ://docs.microsoft.com/en-us/office/dev/add-ins/tutorials/share-data-and-events-between-custom-functions-and-the -任务窗格教程

于 2021-01-07T00:42:27.827 回答