WOPI错误:抱歉,您没有编辑此文档的权限

时间:2019-09-27 13:15:00

标签: office365 ms-wopi wopi

我要实现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>

编辑器显示此错误

enter image description here

我做错了什么?

2 个答案:

答案 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上编辑文件。
Valid XHTML