无法在发送加载项清单时在Outlook中添加AppDomain

问题描述 投票:0回答:1

我对开发Outlook外接程序还比较陌生,并且在开发暂挂式外接程序时遇到了问题。

我正在尝试从我的已发送加载项内部进行ajax调用:

$.ajax({
    url: "https://XXXXXXX.dev:9999/createMeeting",
    data: JSON.stringify(result),
    contentType: 'application/json',
    type: 'POST',
    dataType: 'json',
    error: function(xhr, status, error) {
        console.log("ERRROR", error)
    }
}).done(function(data) {
    console.log("DONE ", data)
});

我的清单看起来像这样:

<?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">

    <AppDomains>
        <AppDomain>DOMAIN1</AppDomain>
        <AppDomain>DOMAIN2</AppDomain>
    </AppDomains>

    <Id>XXXXXXXX-1a52-42a0-96bf-100d801a4ef7</Id>
    <Version>1.0</Version>
    <ProviderName>Contoso</ProviderName>
    <DefaultLocale>en-us</DefaultLocale>
    <DisplayName DefaultValue="Contoso Subject and CC Checker" />
    <Description DefaultValue="Contoso Subject and CC Checker" />

    <Requirements>
        <Sets DefaultMinVersion="1.1">
            <Set Name="Mailbox" />
        </Sets>
    </Requirements>



    <FormSettings>
        <Form xsi:type="ItemEdit">
            <DesktopSettings>
                <SourceLocation DefaultValue="https://XXXXXXXX.dev:3001/index.html" />
            </DesktopSettings>
        </Form>
    </FormSettings>

    <Permissions>ReadWriteMailbox</Permissions>

    <Rule xsi:type="RuleCollection" Mode="Or">
        <Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit" />
        <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Edit" />
    </Rule>

    <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
        <!-- On Send requires VersionOverridesV1_1 -->
        <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
            <Description resid="residAppDescription" />
            <Requirements>
                <bt:Sets DefaultMinVersion="1.3">
                    <bt:Set Name="Mailbox" />
                </bt:Sets>
            </Requirements>

            <Hosts>
                <Host xsi:type="MailHost">
                    <DesktopFormFactor>
                        <!-- The functionfile and function name to call on message send.  -->
                        <!-- In this particular case the function validateSubjectAndCC will be called within the JavaScript code referenced in residUILessFunctionFileUrl. -->
                        <FunctionFile resid="residUILessFunctionFileUrl" />
                        <ExtensionPoint xsi:type="Events">
                            <Event Type="ItemSend" FunctionExecution="synchronous" FunctionName="validateSubjectAndCC" />
                        </ExtensionPoint>
                    </DesktopFormFactor>
                </Host>
            </Hosts>
            <Resources>
                <bt:Urls>
                    <!-- The JavaScript code is hosted on a secure and trusted web server. -->
                    <bt:Url id="residUILessFunctionFileUrl" DefaultValue="https://XXXXXXXX.dev:3001/index.html"></bt:Url>
                </bt:Urls>
            </Resources>
        </VersionOverrides>
    </VersionOverrides>

</OfficeApp>

但是在尝试添加加载项时,我仍然收到此错误

This app can't be installed. 
The manifest file doesn't conform to the schema definition. 
The element 'OfficeApp' in namespace 'http://schemas.microsoft.com/office/appforoffice/1.1' has invalid child element 'AppDomains' in namespace 'http://schemas.microsoft.com/office/appforoffice/1.1'. 
List of possible elements expected: 'Id' in namespace 'http://schemas.microsoft.com/office/appforoffice/1.1'... 
The element 'OfficeApp' in namespace 'http://schemas.microsoft.com/office/appforoffice/1.1' has invalid child element 'AppDomains' in namespace 'http://schemas.microsoft.com/office/appforoffice/1.1'. 
List of possible elements expected: 'Id' in namespace 'http://schemas.microsoft.com/office/appforoffice/1.1'.

根据docsAppDomains元素必须是OfficeApp元素的子元素。难道我做错了什么??预先感谢!

编辑:这发生在Outlook OWA(Web)和Windows应用程序上。尚未在其他平台上进行验证。

javascript outlook-addin office-addins outlook-web-addins
1个回答
1
投票

似乎是由于您在清单中添加元素的顺序引起的。当清单文件遵循架构xmlns =“ http://schemas.microsoft.com/office/appforoffice/1.1”时,它期望元素按here所述的某些顺序排列。如果您遵循示例manifest中提到的元素的顺序,它应该可以正常工作。

再次更新链接。

© www.soinside.com 2019 - 2024. All rights reserved.