How to construct/get Office Web App URL for sharepoint documents

VishJ picture VishJ · Jun 10, 2013 · Viewed 10.2k times · Source

I am trying to get the right redirection URL for my sharepoint documents which then I can use to open documents in WebView of iOS. Currently I am giving the absolute URL for the document where the doc is rendered inside WebView as PDF(Image/Readonly). Whereas I want to redirect to office webapp. Now my issue is I dont know if the URL for office web app is something which I can construct like appending /_layouts/15/WopiFrame.aspx?sourcedoc= or is the URL custom based on installations and we need to call some Sharepoint API which will let us know what is the base URL for Wopi service.

Currently I am passing URL like - https://.sharepoint.com/Shared%20Documents/demo/demo.docx Whereas I want to pass URL like - https://.sharepoint.com/_layouts/15/WopiFrame.aspx?sourcedoc=/Shared%20Documents/demo/demo.docx

Looking forward for help. Thanks in advance, Vishwesh

Answer

thebitllc picture thebitllc · Jun 11, 2013
File f = clientContext.Web.GetFileByServerRelativeUrl("/sites/  /Shared%20Documents/Title.docx");
clientContext.Load(f);
clientContext.ExecuteQuery();

ClientResult<String> result = f.ListItemAllFields.GetWOPIFrameUrl(SPWOPIFrameAction.Edit);

clientContext.Load(f.ListItemAllFields);
clientContext.ExecuteQuery();

result.Value contains a URL, something like this: http://sharep.xxx:8080/sites/zxxx/_layouts/15/WopiFrame.aspx?sourcedoc=%2Fsites%2Fzxxx%2FShared%20Documents%2FTitle%2Edocx&action=edit

Also you can extract the extract Office Web Apps URL from the above page, if you don't want to hit the sharepoint at all.