如何获得嵌入式Excel电子表格的文件令牌?

时间:2018-10-26 19:23:32

标签: javascript asp.net excel

我有一个ASP.Net Web应用程序,其中嵌入了一个交互式Excel电子表格。用户应该能够与电子表格进行交互。我使用来自Office Support的代码嵌入了电子表格。嵌入本身可以发挥一定作用-用户可以单击,但是网页没有任何信息。

为了获得更多信息,并能够使用ASP.Net按钮进行书写,我转向了一个使用Excel Services ECMAScript (JavaScript) API的示例。引起问题的一件事是该行:

var fileToken = "SD310A16DD64ED7E41!112/3533661997762444865/";

我尝试使用示例here查找令牌。

此特定示例中的嵌入代码为:

<iframe title ="Preview" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" width="402px" height="346px" style="padding:0;background-color:#fcfcfc;" src="https://r.office.microsoft.com/r/rlidExcelEmbed?su=-5430218907388983095&Fi=SDB4A3FCAC9C7848C9!285&ak=t%3d0%26s%3d0%26v%3d!AJHqJpkd-Q5axR8&kip=1"></iframe>

,文件令牌为:

SDB4A3FCAC9C7848C9!285/-5430218907388983095/t=0&s=0&v=!AK3ybHnbJCLh5H0

此示例完全没有帮助,因为我的嵌入代码的格式为:

https://onedrive.live.com/embed?resid=2EE19DD0B45C2F85%2156366&authkey=%21AC2IkSn6J6_kejU&em=3&wdDivId=%22myExcelDiv%22&wdDownloadButton=1&wdHideGridlines=1&wdHideHeaders=1&wdAllowInteractivity=0&wdAllowTyping=1

因此,按照示例的方式找到令牌几乎是不可能的。

我尝试使用2EE19DD0B45C2F85%2156366作为文件令牌,但是我从ECMAScript API复制的代码返回错误:异步操作失败!。

如何找到嵌入式Excel电子表格的文件令牌?

2 个答案:

答案 0 :(得分:0)

您所使用的示例似乎基于MS SharePoint 2010中的One Drive JavaScript API的早期版本。 此后,Microsoft已使用OneDrive开发人员平台(它们的Microsoft Graph API的一部分)取代了它。 在此处查看官方文档:MS OneDrive Developer Platform

我最近也一直在寻找纯JavaScript的解决方案,以在线共享电子表格,其功能比embed选项所允许的更多。 ODDP似乎是前进的方向。

答案 1 :(得分:-1)

好吧,经过大量的研究,我终于找到了如何获得对Javascript中嵌入式excel的控制。 从技术上讲,这可能无法回答您的问题“如何获取嵌入式excel电子表格的文件令牌”,但是我假设您希望该令牌控制javascript中的嵌入式excel。 您不是要通过EWA实例来初始化嵌入式excel,而是要使用将在onedrive上找到的javascript嵌入代码来初始化excel。然后,在实例准备好应用程序之后(您可以在下面的链接中找到如何将回调附加到该实例),您可以使用

来简单地获取嵌入式excel的实例。

ewa = Ewa.EwaControl.getInstances().getItem(0);

此链接的更多信息:https://github.com/SharePoint/sp-dev-docs/blob/master/docs/general-development/working-with-the-excel-services-javascript-object-model.md