ОБНОВЛЕНИЕ №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
Не понимаю почему. Я что-то упустил в манифесте? Возможно, я неправильно настроил манифест? Пожалуйста помоги.