用于 OneDrive 嵌入式 Excel 工作表的持久 API 密钥

用于 OneDrive 嵌入式 Excel 工作表的持久 API 密钥

我有一个高尔夫锦标赛网站,它实际上只是一系列嵌入的 excel 工作表。我使用内置于一个驱动器的 Web 界面中的嵌入工具(右键单击文件 -> 嵌入 -> 自定义此嵌入工作簿对其他人的显示方式)来获取基本 URL 并开始为不同的工作表生成嵌入的 iframe。嵌入代码如下所示:

<iframe width="402" height="346" frameborder="0" scrolling="no" src="https://onedrive.live.com/embed?resid=8EFFBCC36AA48391%216812&authkey=%21AEvosjJL7TLS7Dg&em=2&wdAllowInteractivity=False&wdHideGridlines=True&wdHideHeaders=True&wdDownloadButton=True&wdInConfigurator=True"></iframe>

URL 中有两个重要的 get 参数:resid和,authkey如果没有这两个参数,其他代码都无关紧要。我使用此函数生成一个 URL:

function setURL(sheet) {
        const resid = "8EFFBCC36AA48391%216812";
        const authkey = "%21AEvosjJL7TLS7Dg";
        const iframe = document.getElementById("excel");
        const url = `https://onedrive.live.com/embed?`
                  + `resid=${resid}&authkey=${authkey}`
                  + `&em=2&wdAllowInteractivity=False`
                  + `&Item=${encodeURI(sheet)}`
                  + `&wdHideGridlines=True&wdDownloadButton=True`
                  + `&wdInConfigurator=True`;
        iframe.setAttribute("src", url);
    }

resid当和authkey不变时,它可以完美地工作。但是excel表经常更新,我还没有弄清楚如何避免禁用或更改这两个变量。有三种方法可以更新excel工作簿:

  1. 将新版本的工作表复制并粘贴到 Windows 桌面上的 OneDrive 中,覆盖它。
  2. 在 Windows 桌面上的 Windows OneDrive 文件夹内编辑副本。
  3. 单击并将新版本的工作表拖到 Web 门户中的 OneDrive 界面中。

我已经尝试了前两种方法,有时 authkey 和 resid 会改变,有时则不会。注意:文件名始终相同。

我可以做些什么来固定它authkeyresid以便我不必担心过于频繁地更改代码?

答案1

问题已通过 Microsoft 支持解决。事实证明这是默认行为,但安装中存在错误。重新安装 Office/OneDrive 即可解决。

相关内容