2

我编写了一些代码来连接到 SharePoint 在线服务器并从那里的文件夹中获取 *.docx (Microsoft Word) 文件的列表。

然后我在网页中显示这个文件列表,每个文件都是一个标签,以便用户可以单击它并“打开”文件。

当用户点击文件时,它会提示用户打开/保存文件(标准的 IE/Chrome 文件打开/保存对话框)。相反,我希望文件在 Word Online 中打开(在相同/单独的浏览器选项卡中)。

我尝试在线搜索可能的 API 支持,但似乎找不到任何支持。SharePoint Online 本身似乎能够做到这一点。如果您单击 .docx(或任​​何其他 Office 文件),它将在 Office 365 中打开它(前提是您已提供该文件)。

任何帮助将不胜感激。

4

1 回答 1

2

您需要将适当的参数添加到用户单击的链接中。

查看现有文档库并查看它创建的链接:

https://mytenant.sharepoint.com/_layouts/15/WopiFrame.aspx?sourcedoc={1767368F-62FB-4C40-B3F2-C4EE44E88735}&file=My%20Document.doc&action=default

如果用户未获得 Office 365 的许可,我认为仍会为他们提供下载。虽然不完全确定,因为我们不允许在我们的租约中这样做。当然,如果他们只配置了 SP Online 而不是 O365 的其余部分,他们可以在线查看文档但不能编辑。虽然最近我们看到人们仍然可以编辑 - 尚不确定这是微软的秘密更新之一还是他们的错误。

对评论的回应:

当我说在 O365 的其余部分中未配置时,我的意思是他们获得了 SharePoint 的许可,但没有其他任何东西(P2 许可证而不是 E3),这不授予使用在线(或 iPad)编辑器的权利。据我所知,唯一真正的测试方法是尝试或使用管理员帐户查看许可证。

您不能将凭据“传递”给 WOPI,因为 Office 365 应用程序的凭据来自单独的系统。在允许访问 Office 365 中的任何内容之前,您必须获得凭据。基本上 Azure AD 是服务,登录是通过 login.microsoft.com 完成的,登录为您的浏览器提供了一个令牌,该令牌在每个服务器上都与服务器交换要求。要重用现有凭据,您必须使用“知道”您已经登录的应用程序。通常,Microsoft 使用帮助应用程序从 IE 中获取登录信息(如果这是您登录的方式并使其可用于其他应用程序)比如办公室。如果您使用 Firefox 登录,IE 和 Office 可能不知道您已经这样做了(尽管有一个 FF 插件,如果您允许它执行相同的操作,则会安装它)。

顺便说一句,如果你知道它是如何工作的,请不要因为我试图为他人简化流程而对我失望。:)

于 2014-06-14T16:40:00.813 回答