【问题标题】:OfficeApp manifest permissions element failed while installationOfficeApp 清单权限元素在安装时失败
【发布时间】:2018-02-18 02:23:17
【问题描述】:

上传我的 OfficeApp 清单以安装到 Outlook 插件时,我收到以下错误:

'无法读取邮箱的应用列表,原因如下: //owe1_1:Permissions 元素 ReadWriteDocument 的值无效.. 好的'

当我的许可是:

  <Permissions>ReadWriteDocument</Permissions>

当我将其更改为 ReadWriteMailbox 时,我得到以下信息:

无法安装此应用。清单文件不符合架构定义。 “http://schemas.microsoft.com/office/appforoffice/1.1:Permissions”元素无效-根据其数据类型“String”,值“ReadWriteMailbox”无效-枚举约束失败...“http://schemas.microsoft.com/office/appforoffice/1.1:Permissions”元素无效-值“ReadWriteMailbox”根据其数据类型无效到它的数据类型“字符串” - 枚举约束失败。枚举约束失败。'

这是更改后的权限:

  <Permissions>ReadWriteMailbox</Permissions>

但是 ReadWriteDocument 权限在 Word 中正常工作,我该如何解决?

这是完整的清单文件代码:

<?xml version="1.0" encoding="UTF-8"?>
<!--Created:cb85b80c-f585-40ff-8bfc-12ff4d0e34a9-->
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="TaskPaneApp">
  <Id>da977793-c2c9-41e3-86f9-27c6889cf9e5</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>[Provider name]</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="OfficeApp1" />
  <Description DefaultValue="OfficeApp1"/>
  <IconUrl DefaultValue="~remoteAppUrl/Images/taskpane_32x.png" />
  <Hosts>
    <Host Name="Document" />
  </Hosts>
  <Requirements>
    <Sets>
      <Set Name="DocumentEvents" MinVersion="1.1" />
      <Set Name="File" MinVersion="1.1" />
      <Set Name="Selection" MinVersion="1.1" />
      <Set Name="Settings" MinVersion="1.1" />
      <Set Name="TextFile" MinVersion="1.1" />
      <Set Name="TextCoercion" MinVersion="1.1" />
      <Set Name="TextBindings" MinVersion="1.1" />
      <Set Name="BindingEvents" MinVersion="1.1" />
    </Sets>
  </Requirements>
  <DefaultSettings>
    <SourceLocation DefaultValue="https://localhost:44300/App/Home/Home.html" />
  </DefaultSettings>
  <Permissions>ReadWriteMailbox</Permissions>
</OfficeApp>

【问题讨论】:

    标签: xml outlook office-js


    【解决方案1】:

    提供的 OfficeApp 清单示例不遵循 Outlook 加载项的架构。虽然该示例确实更新了 ReadWriteMailbox 的权限,但 Outlook 和 Word 清单之间存在其他差异。我已更新示例,以便为 Outlook 安装。所做的一些更新是对 xsi:type、Requirements、Host Name 和 FormSettings 的包含。有关如何为 Outlook 加载项构建清单的详细信息,您可以访问 https://docs.microsoft.com/en-us/outlook/add-ins/manifests

    <?xml version="1.0" encoding="UTF-8"?>
    <!--Created:cb85b80c-f585-40ff-8bfc-12ff4d0e34a9-->
    <OfficeApp
      xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
      xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0"
      xsi:type="MailApp">
      <Id>da977793-c2c9-41e3-86f9-27c6889cf9e5</Id>
      <Version>1.0.0.0</Version>
      <ProviderName>[Provider name]</ProviderName>
      <DefaultLocale>en-US</DefaultLocale>
      <DisplayName DefaultValue="OfficeApp1" />
      <Description DefaultValue="OfficeApp1"/>
      <IconUrl DefaultValue="https://remoteAppUrl/Images/taskpane_32x.png" />
      <Hosts>
        <Host Name="Mailbox" />
      </Hosts>
      <Requirements>
        <Sets>
          <Set Name="Mailbox" MinVersion="1.1" />
        </Sets>
      </Requirements>
       <FormSettings>
        <Form xsi:type="ItemRead">
          <DesktopSettings>
            <SourceLocation DefaultValue="https://localhost:44300/App/Home/Home.html"/>
            <RequestedHeight>450</RequestedHeight>
          </DesktopSettings>
        </Form>
      </FormSettings>
      <Permissions>ReadWriteItem</Permissions>
      <Rule xsi:type="RuleCollection" Mode="Or">
        <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" />
      </Rule>
      <DisableEntityHighlighting>false</DisableEntityHighlighting>
    </OfficeApp>
    

    注意:此处提供的示例不包括向商店提交加载项所需的版本覆盖部分以及我们对所有 Outlook 加载项的建议。

    【讨论】:

    • 那么我可以创建一个适用于 Word 和 Outlook 的项目吗?
    • 没有相同的 xml 清单不能同时用于 Word 和 Outlook。此外,两个应用程序之间可用的 Office.JS API 也不同。
    • 感谢您的回复,所以创建一个同时使用两者的项目的最佳方法是使用 OfficeApp 并创建额外的清单文件,以便我有 2 个清单文件,每个文件一个?请您给我推荐其他解决方案吗?
    • 没错。由于两个应用程序使用不同的 API,您将需要 2 个单独的清单和项目
    猜你喜欢
    • 2014-06-12
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    相关资源
    最近更新 更多