【问题标题】:SharePoint CSOM: Open .docx file in Word Online (Office 365)SharePoint CSOM:在 Word Online (Office 365) 中打开 .docx 文件
【发布时间】:2014-08-04 17:17:54
【问题描述】:

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

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

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

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

任何帮助将不胜感激。

【问题讨论】:

    标签: sharepoint href office365 ms-wopi


    【解决方案1】:

    您需要为用户点击的链接添加适当的参数。

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

    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 的其余部分,他们可以在线查看文档但不能编辑。虽然最近我们看到人们仍然可以编辑 - 尚不确定这是 Microsoft 的秘密更新之一还是他们的错误。

    对评论的回应:

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

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

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

    【讨论】:

    • 非常感谢!一个后续问题是:我如何知道用户是否配置了 Office 365?如果未配置 O365 并且用户单击该链接会发生什么情况?
    • 嗨!另一个后续问题,因为我在使用 Excel 时也遇到了完全相同的问题。有没有办法通过传递凭据来访问 WopiFrame 链接?我已经拥有与 CSOM 一起使用的凭据,并且可以使用它获取列表。我只需要用它在浏览器上打开文档。
    • 看来我必须重新考虑我的整个工作流程。感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多