WOPI主機
WOPI主機協議在此位置定義: http://msdn.microsoft.com/en-us/library/hh643135(v=office.12).aspx
有一個很好的概述,在Office開發團隊的博客文章中介紹WOPI:http://blogs.msdn.com/b/officedevdocs/archive/2013/03/21/introducing-wopi.aspx
此外,2013年(與2010年相比)的架構情況如下:
http://technet.microsoft.com/en-us/library/jj219437.aspx
回調界面
請注意,WOPI主機必須響應來自OWA的內容的直接呼叫。
建設WOPI主機
所以,對於這篇文章,我們將介紹一個正在工作的WOPI主機,它將利用OWA用於OWA內部部署的顯示內容(Word,Excel和PowerPoint)。
發現XML
在〜/ App_Data位置,有一個discovery.xml文件。這是使用OWA服務器中的以下URL檢索的。該XML只需要保存到該位置。
http://owa1.wingtip.com/hosting/discovery
該解決方案通過檢查此文件構建基於文件類型的正確的完整URL。
上傳文件/鏈接生成
為了測試,您可以使用Upload API上傳文件。這將接受多個文件,並返回一個作為鏈接集合的JSON結果,並為每個文件訪問令牌。
Link生成用於生成可用於查看OWA上將從WOPI主機使用的Office文件的完全限定鏈接。
訪問令牌
OWA支持WOPI主機使用訪問令牌。請注意,樣本使用隨機生成的鹽值提供文件名的HMACSHA256。
主要接口:
"GET":"api/wopi/files/{name}?access_token={access_token}"//獲取文件信息
"GET":"api/wopi/files/{name}/contents?access_token={access_token}"//獲取文件流
"POST":"api/wopi/files/{name}/contents?access_token={access_token}"//保存文件信息
實現了這三個接口,基本就ok了。
excel實現:


word在線編輯需要實現Cobalt或FSSHTTP / FSSHTTPB。具體可以參考:https://github.com/thebitllc/WopiBasicEditor
這個也可以參考下:https://github.com/petrsvihlik/WopiHost.
以下是我基於網上代碼改的源碼:
https://github.com/LonelyCodelang/WOPI

