2016-12-20 68 views
0

我试图使用ms-word协议打开一个文件以便在Office 365的OneDrive桌面版Word中(我使用Office 365帐户登录)进行编辑,并且我注意到有几个可能性:打开桌面Word中的OneDrive文件

  1. 有时文件在编辑模式下打开,我可以编辑文件,并按下Ctrl + S保存直接OneDrive不会被提示进行任何其他操作。

  2. 有时文件以只读模式打开,我可以切换到编辑器模式,但是当我尝试保存文件时,系统提示您指定保存位置(默认位置是带有此文件的我的OneDrive目录)。

  3. 有时Word会要求我登录到我的Office365帐户(即使我是用Word中的此帐户登录的),然后以只读模式打开文件,看起来像第二种情况。

我想按第一种情况所述打开它,以便用户不必做任何其他操作。

我现在的情况是:

  1. 用户调用API来创建文件。

  2. API使用Microsoft Graph在用户的OneDrive中创建文件。

  3. API返回文件的直接URL,我使用ms-word协议在Word中打开此文件。

通过直接URL到文件我的意思是:https://domain-my.sharepoint.com/personal/account/Documents/Apps/Microsoft Graph/appname/directoryname/filename.docx

URL打开文件的样子: ms-word:ofe|u|<file path specified above>

正如我开头所述有3种情况文件的打开方式,它随机看我。

我也注意到,当我在Word Online中打开我的文件(使用web url文件),然后按Word中的Edit时,它使用完全相同的文件URL,我创建并返回给用户,但从这里文件总是打开第一个场景。

如果我使用ms-word协议与使用ms-word协议的网页完全相同,使用ms-word协议手动打开文件,您对此有何不同意见?

我希望在用户不必进行任何额外步骤编辑并将文件保存回OneDrive的情况下,始终在桌面Word中从用户的OneDrive打开文件。

+0

我从昨天起就一直在做同样的行为;不同之处在于我使用的是onedrive,但我们正在将它转移到一个共享点。如果你使用PHP,你使用什么库来验证和从共享点获取对象? –

+0

我正在使用.NET,抱歉。 – kamilz

回答

0

(我没有的声誉,所以我不能发表评论。我将与部分答案再试一次。)

总是有机会的凭证将被刷新,所以没有完全阻止Office应用程序提示凭据的方式,但它应该相对不常见。

至于开在编辑模式VS保护模式的问题:有多种原因,一些文件将打开到受保护的视图:https://support.office.com/en-us/article/What-is-Protected-View-d6f09ac7-e6b9-4495-8e43-2bbcdbcb6653

如果在编辑模式下看似打开VS一些文件readonly或受保护视图的版本,请使用answers.microsoft.com,对话不必适合stackoverflow模型。