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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章