为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

阿晨1998 2022-07-15 09:27:15
我对开发 Outlook 加载项相对较新,并且在开发 On-send 加载项时遇到了问题。我正在尝试从我的 on-send 加载项内部进行 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>根据文档,AppDomains元素必须是OfficeApp元素的子元素。难道我做错了什么??提前致谢!编辑:这发生在 Outlook OWA (web) 和 Windows 应用程序上。尚未在其他平台上验证。
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超4个赞

似乎问题是由于您在清单中添加元素的顺序引起的。由于清单文件遵循模式 xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" 它需要此处提到的特定顺序的元素。如果您遵循示例清单中提到的元素顺序,它应该可以正常工作。

再次更新了链接。


查看完整回答
反对 回复 2022-07-15
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

发布一个例子,以防其他人有同样的问题。


感谢 Outlook 插件团队 - MSFT!


<?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>XXXXXX-1a52-XXXXXX-96bf-XXXXXX</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" />


    <AppDomains>

        <AppDomain>https://www.XXXXXX.dev</AppDomain>

        <AppDomain>https://XXXXXX.dev</AppDomain>

    </AppDomains>


    <Requirements>

        <Sets DefaultMinVersion="1.1">

            <Set Name="Mailbox" />

        </Sets>

    </Requirements>



    <FormSettings>

        <Form xsi:type="ItemEdit">

            <DesktopSettings>

                <SourceLocation DefaultValue="https://XXXXXX.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://XXXXXX:3001/index.html"></bt:Url>

                </bt:Urls>

            </Resources>

        </VersionOverrides>

    </VersionOverrides>


</OfficeApp>


查看完整回答
反对 回复 2022-07-15
  • 2 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号