我要实现WOPI协议,以使用Office 365打开Office文档并将其编辑到浏览器中:
Microsoft发送CheckFileInfo请求时:
{
BaseFileName: 'test2.docx',
OwnerId: 'XXXX@gmail.com',
UserId: 'XXXX@gmail.com',
Size: 12642,
SHA256: null,
Version: '0',
SupportsDeleteFile: false,
SupportsEcosystem: false,
SupportsFolders: false,
SupportsGetFileWopiSrc: false,
SupportsGetLock: true,
SupportsLocks: true,
SupportsRename: false,
SupportsUpdate: true,
SupportsUserInfo: false
}
我发送的是回复:
<parent>
<artifactId>MyProject</artifactId>
<groupId>com.mycompany</groupId>
<version>${global.version}</version>
</parent>
<packaging>pom</packaging>
<artifactId>Distribution</artifactId>
<dependencies>
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>ModuleA</artifactId>
<version>${global.version}</version>
</dependency>
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>ModuleB</artifactId>
<version>${global.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptors>
<descriptor>
src/main/assembly/distribution-assembly.xml
</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>
single
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
编辑器显示此错误
我做错了什么?
答案 0 :(得分:2)
我在Office Online Server上遇到了同样的问题。
解决方案:
您需要以管理员身份从PowerShell执行Get-OfficeWebAppsFarm
,并检查EditingEnabled
属性。
如果已禁用,则可以通过Set-OfficeWebAppsFarm -EditingEnabled:$true
答案 1 :(得分:1)
您应该在CheckFileInfo的响应中返回这些字段。
1. SupportUpdate:真(让WOPI Client知道您的API实现了PutFile和PutRelativeFile方法来更新文件)
2. UserCanWrite: true (表明使用对该文件具有“写”权限)
3. LicenseCheckForEditIsEnabled:真(将用户路由到Microsoft登录页面以验证用户是否具有Office 365许可证)
4. HostEditUrl: url_to_your_edit_page
注意::您的用户需要MS Office 365许可证才能在WOPI上编辑文件。
。