Office js 在Office JS Excel加载项的对话框中访问OfficeRuntime.storage

Office js 在Office JS Excel加载项的对话框中访问OfficeRuntime.storage,office-js,office-addins,Office Js,Office Addins,我正在使用React&TypeScript创建一个officejsexcel加载项 我从任务窗格(Office.context.ui.displayDialogAsync)或自定义函数运行时(OfficeRuntime.displayWebDialog)打开了一个对话框,该对话框有一个输入,其数据应存储在OfficeRuntime.storage中,以便任务窗格和自定义函数运行时也可用 起初,我尝试直接从对话框本身写入存储,在Excel online中运行外接程序时效果很好。但当我尝试在Exce

我正在使用React&TypeScript创建一个officejsexcel加载项

我从任务窗格(Office.context.ui.displayDialogAsync)或自定义函数运行时(OfficeRuntime.displayWebDialog)打开了一个对话框,该对话框有一个输入,其数据应存储在OfficeRuntime.storage中,以便任务窗格和自定义函数运行时也可用

起初,我尝试直接从对话框本身写入存储,在Excel online中运行外接程序时效果很好。但当我尝试在Excel桌面上运行它时,访问存储不起作用

因此,我现在更改了行为,并在打开对话框之前读取存储,并通过request get参数(我自己发现的是丑陋的)进行设置,然后通过Office.context.ui.messageParent返回值

我只得到以下错误

“名称”:“内部错误”, “消息”:“发生内部错误。”, “代码”:5001

在本文中,MS介绍了这样一个场景,他们似乎建议从自定义函数和任务面板而不是对话框访问存储。但由于它在OfficeOnline中工作(是的,我知道不同的运行时环境),并且异常没有告诉任何有用的信息,所以我不相信它应该是这样工作的

进一步的调查有用吗?或者在给定的上下文中该功能不可用吗


谢谢你的时间

由于这听起来像是一个bug(或者至少是一个设计限制),我建议您将其作为一个问题发布在上,产品团队的人员可以到那里帮助调查。您从哪里得到错误消息?它是来自messageParent还是displayDialog?我假设它不是来自本地存储。如果您可以在调用这些api时提供参数,这将很有帮助。错误来自调用OfficeRuntime.storage.getItem(…),目前我无法为从自定义函数桌面打开的对话框复制该参数,但在从任务窗格打开的对话框中执行此行时出现以下错误:{“名称”:“权限被拒绝”,“消息”:“您没有足够的权限执行此操作。”,“代码”:7000}顺便说一句,对于任何感兴趣的读者,这里是指向GitHub问题的链接。它包含一些附加信息,因为这听起来像是一个bug(或至少是一个设计限制),我建议您将其作为问题发布在上,产品团队的人员可以到那里进行帮助调查。您从哪里获得错误消息?它是来自messageParent还是displayDialog?我假定它不是来自localStorage。如果您在调用这些api时能提供参数,将非常有用。错误来自调用OfficeRuntime.storage、 getItem(…),目前我无法为从自定义函数桌面打开的对话框复制它,但在从任务窗格打开的对话框中执行此行时出现以下错误:{“名称”:“权限被拒绝”,“消息”:“您没有足够的权限执行此操作”。,“代码”:7000}顺便说一句,这里是任何感兴趣的读者的GitHub问题的链接。它包含一些附加信息