SharePoint CSOM:在Word Online中打开.docx文件(Office 365)

时间:2014-06-14 06:36:35

标签: sharepoint href office365 ms-wopi

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

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

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

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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分: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获取登录,如果这是您登录的方式并使其可用于其他应用程序(如Office)。如果您使用Firefox登录,IE& Office可能不知道你已经这样做了(虽然有一个插件可以安装,如果你让它安装同样的东西)。

顺便说一句,如果你知道它真的如何运作,请不要让我失望,试图简化其他人的过程。 :)

相关问题