WOPI host消息體結構

wopi協議通過JSON格式傳遞參數:

{
 "AllowExternalMarketplace":{"type":"bool","default":false,"optional":true},
 "BaseFileName":{"type":"string","optional":false},
 "BreadcrumbBrandName":{"type":"string","default":"","optional":true},
 "BreadcrumbBrandUrl":{"type":"string","default":"","optional":true},
 "BreadcrumbDocName":{"type":"string","default":"","optional":true},
 "BreadcrumbDocUrl":{"type":"string","default":"","optional":true},
 "BreadcrumbFolderName":{"type":"string","default":"","optional":true},
 "BreadcrumbFolderUrl":{"type":"string","default":"","optional":true},
 "ClientUrl":{"type":"string","default":"","optional":true},
 "CloseButtonClosesWindow":{"type":"bool","default":false,"optional":true},
 "ClosePostMessage":{"type":"bool","default":false,"optional":true},
 "CloseUrl":{"type":"string","default":"","optional":true},
 "DisableBrowserCachingOfUserContent":{"type":"bool","default":false,"optional":true},
 "DisablePrint":{"type":"bool","default":false,"optional":true},
 "DisableTranslation":{"type":"bool","default":false,"optional":true},
 "DownloadUrl":{"type":"string","default":"","optional":true},
 "EditAndReplyUrl":{"type":"string","default":"","optional":true},
 "EditModePostMessage":{"type":"bool","default":false,"optional":true},
 "EditNotificationPostMessage":{"type":"bool","default":false,"optional":true},
 "FileExtension":{"type":"string","default":"","optional":true}, 
 "FileNameMaxLength":{"type":"integer","default":250,"optional":true}, 
 "FileSharingPostMessage":{"type":"bool","default":false,"optional":true},
 "FileSharingUrl":{"type":"string","default":"","optional":true}, 
 "FileUrl":{"type":"string","default":"","optional":true},
 "HostAuthenticationId"{"type":"string","default":"","optional":true},
 "HostEditUrl":{"type":"string","default":"","optional":true},
 "HostEmbeddedEditUrl":{"type":"string","default":"","optional":true},
 "HostEmbeddedViewUrl":{"type":"string","default":"","optional":true},
 "HostName":{"type":"string","default":"","optional":true},
 "HostNotes":{"type":"string","default":"","optional":true},
 "HostRestUrl"{"type":"string","default":"","optional":true},
 "HostViewUrl":{"type":"string","default":"","optional":true},
 "IrmPolicyDescription":{"type":"string","default":"","optional":true},
 "IrmPolicyTitle":{"type":"string","default":"","optional":true},
 "LicenseCheckForEditIsEnabled":{"type":"bool","default":false,"optional":true},
 "OwnerId":{"type":"string","optional":false},
 "PostMessageOrigin"{"type":"string","default":"","optional":true},
 "PresenceProvider"{"type":"string","default":"","optional":true},
 "PresenceUserId"{"type":"string","default":"","optional":true},
 "PrivacyUrl":{"type":"string","default":"","optional":true},
 "ProtectInClient":{"type":"bool","default":false,"optional":true},
 "ReadOnly":{"type":"bool","default":false,"optional":true},
 "RestrictedWebViewOnly":{"type":"bool","default":false,"optional":true},
 "SHA256":{"type":"string","optional":true},
 "SignInUrl":{"type":"string","default":"","optional":true},
 "SignoutUrl":{"type":"string","default":"","optional":true},
 "Size":{"type":"int","optional":false},
 "SupportsCoauth":{"type":"bool","default":false,"optional":true},
 "SupportsCobalt":{"type":"bool","default":false,"optional":true},
 "SupportsExtendedLockLength":{"type":"bool","default":false,"optional":true},
 "SupportsFileCreation":{"type":"bool","default":false,"optional":true},
 "SupportsFolders":{"type":"bool","default":false,"optional":true},
 "SupportsGetLock":{"type":"bool","default":false,"optional":true},
 "SupportsLocks":{"type":"bool","default":false,"optional":true},
 "SupportsRename":{"type":"bool","default":false,"optional":true},
 "SupportsScenarioLinks":{"type":"bool","default":false,"optional":true},
 "SupportsSecureStore":{"type":"bool","default":false,"optional":true},
 "SupportsUpdate":{"type":"bool","default":false,"optional":true},
 "SupportsUserInfo":{"type":"bool","default":false,"optional":true},
 "TenantId"{"type":"string","default":"","optional":true},
 "TermsOfUseUrl":{"type":"string","default":"","optional":true},
 "TimeZone"{"type":"string","default":"","optional":true},
 "UniqueContentId":{"type":"string","default":"","optional":true},
 "UserCanAttend":{"type":"bool","default":false,"optional":true},
 "UserCanNotWriteRelative":{"type":"bool","default":false,"optional":true},
 "UserCanPresent":{"type":"bool","default":false,"optional":true},
 "UserCanRename":{"type":"bool","default":false,"optional":true},
 "UserCanWrite":{"type":"bool","default":false,"optional":true},
 "UserFriendlyName":{"type":"string","default":"","optional":true},
 "UserId":{"type":"string","default":"","optional":true},
 "UserInfo":{"type":"string","default":"","optional":true},
 "Version":{"type":"string","optional":false},
 "WebEditingDisabled":{"type":"bool","default":false,"optional":true}
 }

AllowExternalMarketplace: Boolean 類型,表示WOPI客戶端允許連接文件中對於外部服務的引用(例如一個可以嵌入JavaSCript應用的市場),如果這個值是false,那麼這個客戶端則不允許建立這樣的連接。

BaseFileName: 不包括路徑的文件名,用來在界面(UI)中展示,同時也用來確定這個文件的拓展名。

BreadcrumbBrandName: string 類型,表示WOPI客戶端向用戶展示WOPI服務器的品牌。

BreadcrumbBrandUrl: 一個指向網頁的統一資源表示符(URI),當用戶點擊BreadcrumbBrandName展示的內容時會跳轉到URI指向的地址。 

BreadcrumbDocName: string 類型,表示WOPI客戶端向用戶展示用於表示文件的名稱。

BreadcrumbDocUrl: 一個指向網頁的URI,當用戶點擊BreadcrumbDocName會跳轉到URI指向的地址。

BreadcrumbFolderName: string 類型,表示WOPI向用戶展示包含這個文件的文件夾的名稱,

BreadcrumbFolderUrl: 一個指向網頁的URI,當用戶點擊BreadcrumbFolderName會跳轉到URI指向的地址。

ClientUrl: 一個用戶可訪問的URI用於通過客戶端直接打開文件,它可以是一個DAV URL([RFC5232]),也可以是其他任何能夠通過傳遞類型從而打開文件的其他URL。

CloseButtonClosesWindow: Boolean 類型,表示當用戶調用了關閉界面操作時,WOPI客戶端將關閉瀏覽器窗口。 

ClosePostMessage: Boolean 類型,表示當用戶停止渲染或者編輯客戶端當前使用的文件時,向WOPI服務器發送通知。

CloseURL: 一個指向網頁的URI,表示當用戶停止渲染或者編輯客戶端當前使用的文件時實施者認對用戶有用的網頁。 

DisableBrowserCachingOfUserContent: Boolean 類型,表示WOPI客戶端必須禁用在瀏覽器中緩存文件內容。

DisablePrint: Boolean類型,表示WOPI客戶端在其控制範圍內必須禁用打印功能。

DisableTranslation: Boolean類型,表示是WOPI客戶端必須禁止使用客戶端公開的機器翻譯功能。 

DownloadUrl: 一個用戶可訪問的指向文件的URI,用戶可以通過它下載一個文件的拷貝。

EditAndReplyUrl: 一個指向網頁的URI,利用WOPI客戶端提供了編輯文件的體驗。

EditModePostMessage: Boolean類型,表示當用戶嘗試編輯時,WOPI客戶端需要向WOPI服務器發送通知。

EditNotificationPostMessage: Boolean類型,表示當用戶嘗試編輯時,WOPI客戶端需要向WOPI服務器發送通知。

FileExtension: string類型,用來指定文件的擴展名,必須以“.”開頭。

FileNameMaxLength: integer 類型,表示文件名的最大長度,包括文件的拓展名,由WOPI服務器提供。

FileSharingUrl: 允許用戶共享文件位置的URI。

FileSharingPostMessage: Boolean類型,表示當用戶視圖分享文件時,WOPI客戶端應該通知WOPI服務器。

FileUrl: 指向文件位置的URI,WOPI客戶端使用它去獲得文件,如果提供了這個地址,那麼WOPI客戶端必須使用它而不是使用“HTTP://server/<...>/wopi*/files/<id>/contents”。

HostAuthenticationId: string類型,用於WOPI server唯一標識用戶。

HostEditUrl: 一個網頁的URI,利用WOPI客戶端爲文件提供編輯的體驗。

HostEmbeddedEditUrl: 一個網頁的URI,可以嵌入另一個HTML頁面並且提供文件的編輯功能。比如該頁面提供了以HTML形式插入博客的HTML代碼段。

HostEmbeddedViewUrl: 一個網頁的URI,可以嵌入另一個HTML頁面並且提供文件的預覽。比如該頁面提供了以HTML形式插入博客的HTML代碼段。

HostName: string類型,是WOPI服務器提供的名稱,用於記錄日誌或信息。

HostNotes: string類型,被WOPI服務器用來向WOPI客戶端傳遞任意信息,WOPI客戶端如果不能識別這個信息便有可能會忽略這個字符串。WOPI服務器不能要求WOPI客戶端理解這些內容從而進行操作。

HostRestUrl: 是通過REST方式操作文件最基本的URI。

HostViewUrl: 一個利用WOPI客戶端提供預覽功能的URI。

IrmPolicyDescription: string類型,WOPI客戶端應該向用戶展示文件的信息權限管理(IRM)策略。這個值應該與IrmPolicyTitle相結合。

IrmPolicyTitle: string類型,WOPI客戶端應該向用戶展示文件的信息權限管理(IRM)策略。這個值應該與IrmPolicyDescription相結合。

LicenseCheckInEditIsEnabled: Boolean類型,用於確認用戶在編輯文檔之前有正確的許可。

OwnerId: string類型,用於唯一標識文件的所有者。

PostMessageOrigin: string類型,WOPI客戶端發送[W3C-HTML5WEBMSG]所描述的信息時,一定要使用類似targetOrigin 的參數。

PresenceProvider: string類型,識別WOPI客戶端可用於發現關於用戶的在線狀態的信息,比如通過即時的信息判斷用戶是否在線。WOPI客戶端需要知道特定存在的提供者才能夠利用這個值。

PresenceUserId: string類型,識別在PresenceProvider上下文中的用戶

PrivacyUrl: 一個網頁的URI,用於解釋WOPI服務器的隱私策略。

ProtectInClient: Boolean類型,表示WOPI客戶端需要對文件的拷貝和打印採取預防措施,它在WOPI客戶端中幫助執行IRM。

ReadOnly: 提示用戶這個文件無法被修改。

RestrictedWebViewOnly: Boolean類型,表示WOPI客戶端一定不允許用戶下載文件或者使用單獨應用程序打開文件。

SHA256: 它一定是實時且非空的,是256bit的SHA-2-encoded [FIPS180-2] 對於文件內容的散列。

SignInUrl: 一個URI用於將當前用戶登入WOPI服務器所支持的認證系統。

SignoutUrl: 一個URI用於將當前用戶登出WOPI服務器所支持的認證系統。

Size: The size of the file expressed in bytes.

SupportsCoauth: Boolean類型,表示WOPI服務器支持多個用戶同時對文件進行修改。

SupportsCobalt: Boolean類型,表示WOPI服務器支持ExecuteCellStorageRequest 和ExcecuteCellStorageRelativeRequest 的操作。

SupportsExtendedLockLength: Boolean類型,表示WOPI服務支持鎖定長度爲1024個ASCII字符的ID。

SupportsFileCreation: Boolean類型,表示WOPI服務器支持使用WOPI客戶端創建新文件。

SupportsFolders: Boolean 類型,表示WOPI服務器支持對於文件的EnumerateChildrenDeleteFile 操作

SupportsGetLock: Boolean類型,表示WOPI服務器提供了GetLock 。

SupportsLocks: Boolean類型,表示WOPI服務器支持對於文件Lock 、Unlock 、RefreshLock 和UnlockAndRelock 操作。

SupportsRename: Boolean類型,表示WOPI服務器提供了RenameFile

SupportsScenarioLinks: Boolean類型,表示WOPI服務器支持用戶可以通過有限的方式對受限制的URL進行操作的場景。

SupportsSecureStore: Boolean類型,表示WOPI服務使用存儲在文件中的憑證來調用安全數據存儲。

SupportsUpdate: Boolean類型,表示WOPI服務器支持對於文件的PutFile 和PutRelativeFile 操作。

SupportsUserInfo: Boolean類型,表示WOPI服務器提供了PutUserInfo

TenantId: string類型,用於WOPI服務器唯一表示tenant。

TermsOfUseUrl: 一個網頁URI,用於解釋WOPI服務器的使用條款政策。

TimeZone: string類型,用於以WOPI服務器選擇的格式將時間區域信息傳遞給WOPI客戶端。

UniqueContentId: string類型,用於唯一表示文件內容。當文件內容變化時這個值一定要變化。這個值也應與有相同內容的文件相同。

UserCanAttend: Boolean類型,表示用戶有權限查看這個文件的廣播。廣播是一個文件的活動,涉及控制一組參加者的文件的視圖的一個或多個呈現者。比如一個傳播者能夠通過廣播將幻燈片廣播給多個接受者。

UserCanNotWriteRelative: Boolean類型,表示用戶沒有足夠的權限在WOPI服務器上新建文件。

UserCanPresent: Boolean類型,表示用戶有權限廣播這個文件給那些有權限瀏覽文件的人。廣播是一個文件的活動,涉及控制一組參加者的文件的視圖的一個或多個呈現者。比如一個傳播者能夠通過廣播將幻燈片廣播給多個接受者。

UserCanRename: Boolean類型,表示用戶有權限重命名文件。

UserCanWrite: Boolean類型,表示用戶有權限改變文件。

UserFriendlyName: string類型,是用戶的名稱,如果被鎖定,WOPI客戶端在某些場景可能會配置一個替代的字符串,或者展示沒有名稱。

UserId: string類型,用於WOPI服務器唯一標識用戶。

UserInfo:string類型,WOPI客戶端應該校驗用戶的許可狀態。如果WOPI客戶端沒有識別內容有可能忽略這個字符串。

Version: string類型,代表基於WOPI服務器的版本模式,文件的當前版本。當文件改變時,這個值一定要改變,同時對於一個給定的文件,版本的值應該從不重複。

WebEditingDisabled: Boolean類型,表示WOPI客戶端不應該允許用戶使用WOPI客戶端的編輯功能去操作文件,但這不意味着用戶沒有編輯文件的權限。

原文地址:https://msdn.microsoft.com/en-us/library/hh622920(v=office.12).aspx
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章