Надстройка OfficeJS для Outlook не устанавливается

ОБНОВЛЕНИЕ №1:

TL; DR: я хочу настроить таргетинг:

  • Outlook 2016 или новее
  • Outlook в Интернете
  • Outlook 2016 для Mac
  • Outlook для iOS
  • Outlook для Android

Мне требуется Mailbox 1.5 для поддержки вызова Outlook REST API и для поддержки закрепляемых панелей задач. .

Поскольку закрепляемые панели задач поддерживаются только в Outlook 2016 для Windows, а также потому, что Почтовый ящик 1.5 в настоящее время поддерживается только в Outlook в Интернете мне нужно будет установить Mailbox 1.5 в <VersionOverrides> разделах манифеста.

На основании отчета о валидации:

Your add-in manifest includes Tablet Settings and Phone Settings, however 
Mailbox 1.4 is used in the core of your manifest. This mailbox is not
supported in the Outlook Web App.

Похоже, это противоречит тому, что говорит Доступность хоста и платформы надстройки Office. Итак, я установил Mailbox 1.3 на базовом уровне манифеста.


Вот мой манифест:

<?xml version="1.0" encoding="UTF-8"?>
<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" xsi:type="MailApp">
  <Id>3042ed3a-6ca5-4b37-b5e3-a591f5605332</Id>
  <Version>1.0.1.0</Version>
  <ProviderName>Leap Legal Software</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="LEAP Mail Manager" />
  <Description DefaultValue="Save your mail to LEAP."/>
  <IconUrl DefaultValue="https://outlookapp.leap365.com/images/icon-64.png" />
  <HighResolutionIconUrl DefaultValue="https://outlookapp.leap365.com/images/icon-128.png" />
  <SupportUrl DefaultValue="https://leap.force.com/us/s/" />
  <AppDomains>
    <!--LEAP Add-in Domains -->
    <AppDomain>https://outlookapp-dev.leap365.com/</AppDomain>
    <AppDomain>https://outlookapp-test.leap365.com/</AppDomain>
    <AppDomain>https://outlookapp.leap365.com/</AppDomain>
    <!--TitleX Add-in Domains -->
    <AppDomain>https://outlookapp.dev.titlex.com.au/</AppDomain>
    <AppDomain>https://outlookapp.test.titlex.com.au/</AppDomain>
    <AppDomain>https://outlookapp.titlex.com.au/</AppDomain>
    <!-- LEAP Auth -->
    <AppDomain>https://auth-dev.leap.services/</AppDomain>
    <AppDomain>https://auth-test.leap.services/</AppDomain>
    <AppDomain>https://auth.leap.services/</AppDomain>
    <!-- TitleX Auth -->
    <AppDomain>https://login.dev.titlex.com.au/</AppDomain>
    <AppDomain>https://login.test.titlex.com.au/</AppDomain>
    <AppDomain>https://login.titlex.com.au/</AppDomain>
    <AppDomain>https://login.dev.titlex.co.uk/</AppDomain>
    <AppDomain>https://login.test.titlex.co.uk/</AppDomain>
    <AppDomain>https://login.titlex.co.uk/</AppDomain>
    <AppDomain>https://login.dev.titlex.com/</AppDomain>
    <AppDomain>https://login.test.titlex.com/</AppDomain>
    <AppDomain>https://login.titlex.com/</AppDomain>
  </AppDomains>
  <Hosts>
    <Host Name="Mailbox" />
  </Hosts>
  <Requirements>
    <Sets DefaultMinVersion="1.3">
      <Set Name="Mailbox" MinVersion="1.3" />
    </Sets>
  </Requirements>
  <FormSettings>
    <Form xsi:type="ItemRead">
      <DesktopSettings>
        <SourceLocation DefaultValue="https://outlookapp.leap365.com/index.html"/>
        <RequestedHeight>280</RequestedHeight>
      </DesktopSettings>
      <TabletSettings>
        <SourceLocation DefaultValue="https://outlookapp.leap365.com/index.html" />
        <RequestedHeight>280</RequestedHeight>
      </TabletSettings>
      <PhoneSettings>
        <SourceLocation DefaultValue="https://outlookapp.leap365.com/index.html" />
      </PhoneSettings>
    </Form>
  </FormSettings>
  <Permissions>ReadWriteMailbox</Permissions>
  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" /></Rule>
  <DisableEntityHighlighting>false</DisableEntityHighlighting>
  <VersionOverrides 
    xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Requirements>
      <bt:Sets DefaultMinVersion="1.5">
        <bt:Set Name="Mailbox" MinVersion="1.5" />
      </bt:Sets>
    </Requirements>
    <Hosts>
      <Host xsi:type="MailHost">
        <DesktopFormFactor>
          <FunctionFile resid="Leap.Functions.Url" />
          <!-- Message Read -->
          <ExtensionPoint xsi:type="MessageReadCommandSurface">
            <CustomTab id="TabLeap">
              <Group id="Leap.Group1">
                <Label resid="Leap.Group1Label" />
                <Control xsi:type="Button" id="Leap.DefaultCommand">
                  <Label resid="Leap.DefaultCommand.Label" />
                  <Supertip>
                    <Title resid="Leap.DefaultCommand.Label" />
                    <Description resid="Leap.DefaultCommand.Tooltip" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Leap.Icon.16" />
                    <bt:Image size="32" resid="Leap.Icon.32" />
                    <bt:Image size="80" resid="Leap.Icon.80" />
                    <bt:Image size="20" resid="Leap.Icon.20" />
                    <bt:Image size="24" resid="Leap.Icon.24" />
                    <bt:Image size="40" resid="Leap.Icon.40" />
                    <bt:Image size="48" resid="Leap.Icon.48" />
                    <bt:Image size="64" resid="Leap.Icon.64" />
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="Leap.Taskpane.Url" />
                  </Action>
                </Control>
              </Group>
              <Label resid="Leap.TabLabel"/>
            </CustomTab>
          </ExtensionPoint>
          <!-- Go to http://aka.ms/ExtensionPointsCommands to learn how to add more Extension Points: MessageRead, AppointmentOrganizer, AppointmentAttendee -->
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <bt:Images>
        <bt:Image id="Leap.Icon.16" DefaultValue="https://outlookapp.leap365.com/images/icon-16.png"/>
        <bt:Image id="Leap.Icon.32" DefaultValue="https://outlookapp.leap365.com/images/icon-32.png"/>
        <bt:Image id="Leap.Icon.80" DefaultValue="https://outlookapp.leap365.com/images/icon-80.png"/>
        <bt:Image id="Leap.Icon.20" DefaultValue="https://outlookapp.leap365.com/images/icon-20.png" />
        <bt:Image id="Leap.Icon.24" DefaultValue="https://outlookapp.leap365.com/images/icon-24.png" />
        <bt:Image id="Leap.Icon.25" DefaultValue="https://outlookapp.leap365.com/images/icon-25.png" />
        <bt:Image id="Leap.Icon.40" DefaultValue="https://outlookapp.leap365.com/images/icon-40.png" />
        <bt:Image id="Leap.Icon.48" DefaultValue="https://outlookapp.leap365.com/images/icon-48.png" />
        <bt:Image id="Leap.Icon.64" DefaultValue="https://outlookapp.leap365.com/images/icon-64.png" />
      </bt:Images>
      <bt:Urls>
        <bt:Url id="Leap.Taskpane.Url" DefaultValue="https://outlookapp.leap365.com/index.html" />
        <bt:Url id="Leap.Functions.Url" DefaultValue="https://outlookapp.leap365.com/functions.html" />
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="Leap.TabLabel" DefaultValue="LEAP Mail Manager" />
        <bt:String id="Leap.Group1Label" DefaultValue="LEAP" />
        <bt:String id="Leap.DefaultCommand.Label" DefaultValue="LEAP Mail Manager" />
        <bt:String id="Leap.DefaultCommand.Title" DefaultValue="LEAP Mail Manager" />
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="Leap.DefaultCommand.Tooltip" DefaultValue="Click to show the add-in." />
        <bt:String id="Leap.Description" DefaultValue="Save your mail to LEAP." />
      </bt:LongStrings>
    </Resources>
    <!-- NOTE: TO SUPPORT A PINNABLE TASKPANE AND MOBILEFORMFACTOR -->
    <VersionOverrides 
      xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
      <Requirements>
        <bt:Sets DefaultMinVersion="1.5">
          <bt:Set Name="Mailbox" MinVersion="1.5" />
        </bt:Sets>
      </Requirements>
      <Hosts>
        <Host xsi:type="MailHost">
          <DesktopFormFactor>
            <FunctionFile resid="Leap.Functions.Url" />
            <!-- Message Read -->
            <ExtensionPoint xsi:type="MessageReadCommandSurface">
              <CustomTab id="TabLeap">
                <Group id="Leap.Group1">
                  <Label resid="Leap.Group1Label" />
                  <Control xsi:type="Button" id="Leap.DefaultCommand">
                    <Label resid="Leap.DefaultCommand.Label" />
                    <Supertip>
                      <Title resid="Leap.DefaultCommand.Label" />
                      <Description resid="Leap.DefaultCommand.Tooltip" />
                    </Supertip>
                    <Icon>
                      <bt:Image size="16" resid="Leap.Icon.16" />
                      <bt:Image size="32" resid="Leap.Icon.32" />
                      <bt:Image size="80" resid="Leap.Icon.80" />
                      <bt:Image size="20" resid="Leap.Icon.20" />
                      <bt:Image size="24" resid="Leap.Icon.24" />
                      <bt:Image size="40" resid="Leap.Icon.40" />
                      <bt:Image size="48" resid="Leap.Icon.48" />
                      <bt:Image size="64" resid="Leap.Icon.64" />
                    </Icon>
                    <Action xsi:type="ShowTaskpane">
                      <SourceLocation resid="Leap.Taskpane.Url" />
                      <SupportsPinning>true</SupportsPinning>
                    </Action>
                  </Control>
                  <!-- Go to http://aka.ms/ButtonCommands to learn how to add more Controls: ExecuteFunction and Menu -->
                </Group>
                <Label resid="Leap.TabLabel"/>
              </CustomTab>
            </ExtensionPoint>
            <!-- Go to http://aka.ms/ExtensionPointsCommands to learn how to add more Extension Points: MessageRead, AppointmentOrganizer, AppointmentAttendee -->
          </DesktopFormFactor>
          <!-- See https://docs.microsoft.com/en-us/outlook/add-ins/add-mobile-support -->
          <MobileFormFactor>
            <FunctionFile resid="Leap.Functions.Url" />
            <ExtensionPoint xsi:type="MobileMessageReadCommandSurface">
              <Group id="Leap.Group1">
                <Label resid="Leap.Group1Label" />
                <Control xsi:type="MobileButton" id="Leap.DefaultCommand">
                  <Label resid="Leap.DefaultCommand.Label" />
                  <Icon xsi:type="bt:MobileIconList">
                    <bt:Image size="25" scale="1" resid="Leap.Icon.25" />
                    <bt:Image size="25" scale="2" resid="Leap.Icon.25" />
                    <bt:Image size="25" scale="3" resid="Leap.Icon.25" />
                    <bt:Image size="32" scale="1" resid="Leap.Icon.32" />
                    <bt:Image size="32" scale="2" resid="Leap.Icon.32" />
                    <bt:Image size="32" scale="3" resid="Leap.Icon.32" />
                    <bt:Image size="48" scale="1" resid="Leap.Icon.48" />
                    <bt:Image size="48" scale="2" resid="Leap.Icon.48" />
                    <bt:Image size="48" scale="3" resid="Leap.Icon.48" />
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="Leap.Taskpane.Url" />
                  </Action>
                </Control>
              </Group>
            </ExtensionPoint>
          </MobileFormFactor>
        </Host>
      </Hosts>
      <Resources>
        <bt:Images>
          <bt:Image id="Leap.Icon.16" DefaultValue="https://outlookapp.leap365.com/images/icon-16.png"/>
          <bt:Image id="Leap.Icon.32" DefaultValue="https://outlookapp.leap365.com/images/icon-32.png"/>
          <bt:Image id="Leap.Icon.80" DefaultValue="https://outlookapp.leap365.com/images/icon-80.png"/>
          <bt:Image id="Leap.Icon.20" DefaultValue="https://outlookapp.leap365.com/images/icon-20.png" />
          <bt:Image id="Leap.Icon.24" DefaultValue="https://outlookapp.leap365.com/images/icon-24.png" />
          <bt:Image id="Leap.Icon.25" DefaultValue="https://outlookapp.leap365.com/images/icon-25.png" />
          <bt:Image id="Leap.Icon.40" DefaultValue="https://outlookapp.leap365.com/images/icon-40.png" />
          <bt:Image id="Leap.Icon.48" DefaultValue="https://outlookapp.leap365.com/images/icon-48.png" />
          <bt:Image id="Leap.Icon.64" DefaultValue="https://outlookapp.leap365.com/images/icon-64.png" />
        </bt:Images>
        <bt:Urls>
          <bt:Url id="Leap.Taskpane.Url" DefaultValue="https://outlookapp.leap365.com/index.html" />
          <bt:Url id="Leap.Functions.Url" DefaultValue="https://outlookapp.leap365.com/functions.html" />
        </bt:Urls>
        <bt:ShortStrings>
          <bt:String id="Leap.TabLabel" DefaultValue="LEAP Mail Manager" />
          <bt:String id="Leap.Group1Label" DefaultValue="LEAP" />
          <bt:String id="Leap.DefaultCommand.Label" DefaultValue="LEAP Mail Manager" />
          <bt:String id="Leap.DefaultCommand.Title" DefaultValue="LEAP Mail Manager" />
        </bt:ShortStrings>
        <bt:LongStrings>
          <bt:String id="Leap.DefaultCommand.Tooltip" DefaultValue="Click to show the add-in." />
          <bt:String id="Leap.Description" DefaultValue="Save your mail to LEAP." />
        </bt:LongStrings>
      </Resources>
    </VersionOverrides>
  </VersionOverrides>
</OfficeApp>

Вот результат validate-office-addin для указанного выше манифеста надстройки:

Calling validation service. This might take a moment...
-------------------------------------
Validation: Passed
Based on the requirements specified in your manifest, your add-in can run on the following platforms; your add-in will be tested on these platforms when you submit it to the Office Store:
  - Outlook 2013 Service Pack 1 or later
  - Outlook 2016 or later
  - Outlook on the Web
  - Outlook 2016 for Mac
  - Outlook for iOS
  - Outlook for Android
Important: This analysis is based on the requirements specified in your manifest and does not account for any runtime JavaScript calls within your add-in. For information about which API sets and features are supported on each platform, see Office Add-in host and platfo
rm availability. (https://dev.office.com/add-in-availability).

*This does not include mobile apps. You can opt-in to support mobile apps when you submit your add-in.
-------------------------------------

Однако в отчете о валидации от Microsoft говорится:

Your add-in is not working in Outlook 2016, Outlook 2013, Outlook for Mac, 
the Outlook app on iOS or in the Outlook app on Android. Your add-in is not 
available to be inserted in the above platforms. If you do not support 2013 
SP1 because you are using an API only available in 2016/Online, you must put 
these apis in the requirements tag in your manifest. If you are not using an 
API only available in 2016/Online, then you must support 2013 SP1.

Я загрузил сбоку надстройка от OWA.

Я вижу надстройку:

  • Outlook 2016 или новее (Windows)
  • Outlook в Интернете (OWA)

Мне еще предстоит проверить, появляется ли надстройка в Outlook 2016 для Mac.

Да хоть убей, мне кажется, что надстройка не появляется:

  • Outlook 2013 с пакетом обновления 1 или более поздней версии
  • Outlook для iOS
  • Outlook для Android

Не понимаю почему. Я что-то упустил в манифесте? Возможно, я неправильно настроил манифест? Пожалуйста помоги.


person Sameer Singh    schedule 19.09.2017    source источник
comment
Вы должны иметь возможность использовать 1.4 в своем основном манифесте в качестве набора требований. Office-Addin-Validator может быть устаревшим, и вы можете отправить сообщение об этом на github.   -  person Outlook Add-ins Team - MSFT    schedule 05.10.2017


Ответы (2)


Добавление деталей в ответы команды надстройки и магазина.

Проблема Outlook 2013 возникает из-за двух конфликтующих правил, которым следует Outlook:

  • Вы указали минимальную версию почтового ящика 1.3 в основном манифесте.
  • Вы также объявили VersionOverridesV1_0 раздел с минимальной версией 1.5

Средство проверки объявляет поддержку Outlook 2013 с пакетом обновления 1 или более поздней версии, потому что (как упомянула команда Store) эта версия Outlook поддерживает 1.3.

Outlook 2013 с пакетом обновления 1 или более поздней версии также поддерживает Команды надстройки через VersionOverridesV1_0. Как только Outlook обнаружит, что у вас объявлены команды надстройки, он перейдет к использованию команд надстройки. Однако, поскольку они определены как требующие 1.5, Outlook 2013 не может их отобразить.

Чтобы ваши команды надстройки отображались в Outlook 2013, вам необходимо убедиться, что минимальная версия, которая вам требуется в VersionOverridesV1_0, равна 1.4 или ниже (обратите внимание, что VersionOverridesV1_1 должно оставаться на уровне 1.5).

person Marc LaFleur    schedule 27.10.2017
comment
Отметил это как ответ, потому что он косвенно помог мне решить мою проблему. Спасибо! - person Sameer Singh; 23.04.2018

Поддержка Outlook Mobile добавлена ​​путем определения элемента MobileFormFactor в VersionOverridesV1_1. См. здесь для получения дополнительной информации о MobileFormFactor

Почтовый ящик 1.5 не поддерживается в Outlook 2013 (информацию о доступности см. здесь). -in, чтобы появиться в Outlook 2013, вам необходимо использовать почтовый ящик 1.4 или ниже

person Office Store Developer Comms    schedule 19.09.2017
comment
См. Мой манифест: я указываю <MobileFormFactor> в VersionOverrides v1.1. Если Mailbox 1.5 не поддерживается в Outlook 2013, почему средство проверки указывает его как поддерживаемую платформу? Я отредактирую свой вопрос, чтобы предоставить больше контекста. - person Sameer Singh; 20.09.2017
comment
Я добавил тег Outlook-addin, чтобы команда надстроек Outlook смогла помочь. Я считаю, что это связано с тем, что в ядре вашего манифеста содержится почтовый ящик 1.3; но команда Outlook лучше всего может помочь. - person Office Store Developer Comms; 26.09.2017