![用于 OneDrive 嵌入式 Excel 工作表的持久 API 密钥](https://linux22.com/image/1635260/%E7%94%A8%E4%BA%8E%20OneDrive%20%E5%B5%8C%E5%85%A5%E5%BC%8F%20Excel%20%E5%B7%A5%E4%BD%9C%E8%A1%A8%E7%9A%84%E6%8C%81%E4%B9%85%20API%20%E5%AF%86%E9%92%A5.png)
我有一个高尔夫锦标赛网站,它实际上只是一系列嵌入的 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工作簿:
- 将新版本的工作表复制并粘贴到 Windows 桌面上的 OneDrive 中,覆盖它。
- 在 Windows 桌面上的 Windows OneDrive 文件夹内编辑副本。
- 单击并将新版本的工作表拖到 Web 门户中的 OneDrive 界面中。
我已经尝试了前两种方法,有时 authkey 和 resid 会改变,有时则不会。注意:文件名始终相同。
我可以做些什么来固定它authkey
,resid
以便我不必担心过于频繁地更改代码?
答案1
问题已通过 Microsoft 支持解决。事实证明这是默认行为,但安装中存在错误。重新安装 Office/OneDrive 即可解决。