jjzjj

xml - Outlook 365 加载项仅出现在 Outlook 2013 客户端中

coder 2024-06-30 原文

我在 Outlook 2016 中显示我的加载项时遇到问题。我将其开发为 Office365 加载项,它在 Outlook 2013 中的工作原理非常棒。但当时我想在 Outlook 2016 中测试它,它确实如此不会出现在“Office 应用程序”部分。

我想我必须向 manifest.xml 添加一些内容,但我不知道是什么。在 Outlook 2013 中,它会在右上角打开一个任务 Pane 。如果在 Outlook 2016 中也一样就好了。

我的 Outlook 2013/2016 加载项 .XML 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!--Created:someid-->
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="MailApp">
  <Id>someid</Id>
  <Version>0.0.1.0</Version>
  <ProviderName>Teamname</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="Name" />
  <Description DefaultValue="Name"/>
  <!-- Logo einfügen -->
  <HighResolutionIconUrl DefaultValue="https://pl.vc/tmvl" />
  <Hosts>
    <Host Name="Mailbox" />
  </Hosts>
  <Requirements>
    <Sets>
      <Set Name="MailBox" MinVersion="1.1" />
    </Sets>
  </Requirements>
  <FormSettings>
    <Form xsi:type="ItemRead">
      <DesktopSettings>
        <SourceLocation DefaultValue="https://urltowebapp/#/outlook-login"/>
        <RequestedHeight>250</RequestedHeight>
      </DesktopSettings>
    </Form>
    <Form xsi:type="ItemEdit">
      <DesktopSettings>
        <SourceLocation DefaultValue="https://urltowebapp/#/outlook-login"/>
      </DesktopSettings>
    </Form>
  </FormSettings>
  <Permissions>ReadWriteItem</Permissions>
  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit" />
    <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Edit" />
    <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read" />
    <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Read" />
  </Rule>
  <DisableEntityHighlighting>false</DisableEntityHighlighting>
</OfficeApp>

最佳答案

我想与大家分享我的解决方案,他们可能会遇到同样的问题。

这是我的 Manifest-XML 文件,它完全符合我的需要:

<?xml version="1.0" encoding="UTF-8"?>
<!--Created: <SOME ID> -->
<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> <SOME ID> </Id>
  <Version>1.0.0.0</Version>
  <ProviderName>[Provider Name]</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="AppName" />
  <Description DefaultValue="Some text"/>
  <!-- Logo einfügen -->
  <HighResolutionIconUrl DefaultValue="<Link to your app logo>" />
  <Hosts>
    <Host Name="Mailbox" />
  </Hosts>
  <Requirements>
    <Sets>
      <Set Name="MailBox" MinVersion="1.1" />
    </Sets>
  </Requirements>
  <FormSettings>
    <Form xsi:type="ItemEdit">
      <DesktopSettings>
        <SourceLocation DefaultValue="<Link to your web app>"/>
      </DesktopSettings>
    </Form>
  </FormSettings>
  <Permissions>ReadWriteItem</Permissions>
  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit" />
    <Rule xsi:type="ItemIs" ItemType="Appointment" FormType="Edit" />
  </Rule>
  <DisableEntityHighlighting>false</DisableEntityHighlighting>

  <!-- code to support Outlook 2016 -->
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">

   <Description resid="residDescription" />

   <Requirements>
       <bt:Sets DefaultMinVersion="1.3">
           <bt:Set Name="Mailbox" />
       </bt:Sets>
   </Requirements>

    <Hosts>
      <Host xsi:type="MailHost">

        <DesktopFormFactor>
          <!-- <FunctionFile resid="functionFile" /> add this if you need to -->

          <ExtensionPoint xsi:type="MessageComposeCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="msgreadTabMessage.grp1">
                <Label resid="groupLabel" />
                <Tooltip resid="groupTip" />

                <Control xsi:type="Button" id="msgreadTabMessage.grp1.btnView">
                  <Label resid="buttonLabel" />
                  <Tooltip resid="buttonTip" />
                  <Supertip>
                    <Title resid="superTipTitle" />
                    <Description resid="superTip" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="icon1_16x16" />
                    <bt:Image size="32" resid="icon1_32x32" />
                    <bt:Image size="80" resid="icon1_80x80" />
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="taskPaneUrl" />
                  </Action>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>

        </DesktopFormFactor>
      </Host>
    </Hosts>

    <Resources>
      <bt:Images>
        <bt:Image id="icon1_16x16" DefaultValue="<link to your 16px logo>"/>
        <bt:Image id="icon1_32x32" DefaultValue="<link to your 32px logo>"/>
        <bt:Image id="icon1_80x80" DefaultValue="<link to your 80px logo>"/>
      </bt:Images>
      <bt:Urls>
        <!-- <bt:Url id="functionFile" DefaultValue="<link to your function file if you need one>"/> -->
        <bt:Url id="taskPaneUrl" DefaultValue="<link to your web application>"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="groupLabel" DefaultValue="Some text"/>
        <bt:String id="buttonLabel" DefaultValue="Some text"/>
        <bt:String id="superTipTitle" DefaultValue="Some text"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="residDescription" DefaultValue="Some text" />
        <bt:String id="groupTip" DefaultValue="Some text"/>
        <bt:String id="buttonTip" DefaultValue="Some text"/>
        <bt:String id="superTip" DefaultValue="Some text"/>
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
  <!-- end of code to support Outlook 2016 -->

</OfficeApp>

除了支持 Outlook 2016 的代码-注释之间的代码外,您还必须确保在“OfficeApp 标签”中添加另外两行:

xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0"

我试图使这个 Manifest.XML 尽可能通用,以便您可以轻松地将它应用到您自己的项目中。

关于xml - Outlook 365 加载项仅出现在 Outlook 2013 客户端中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35069728/

有关xml - Outlook 365 加载项仅出现在 Outlook 2013 客户端中的更多相关文章

  1. ruby-on-rails - 如何从 format.xml 中删除 <hash></hash> - 2

    我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为

  2. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  3. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  4. ruby-on-rails - 使用 config.threadsafe 时从 lib/加载模块/类的正确方法是什么!选项? - 2

    我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co

  5. ruby - 使用 Ruby 通过 Outlook 发送消息的最简单方法是什么? - 2

    我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=

  6. ruby-on-rails - 从应用程序中自定义文件夹内的命名空间自动加载 - 2

    我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty

  7. ruby-on-rails - 使用 gmaps4rails 动态加载谷歌地图标记 - 2

    如何只加载map边界内的标记gmaps4rails?当然,在平移和/或缩放后加载新的。与此直接相关的是,如何获取map的当前边界和缩放级别? 最佳答案 我是这样做的,我只在用户完成平移或缩放后替换标记,如果您需要不同的行为,请使用不同的事件监听器:在你看来(index.html.erb):{"zoom"=>15,"auto_adjust"=>false,"detect_location"=>true,"center_on_user"=>true}},false,true)%>在View的底部添加:functiongmaps4rail

  8. ruby - 在 TCPServer (Ruby) 中,我如何从客户端获取 IP/MAC? - 2

    我想在Ruby的TCPServer中获取客户端的IP地址。以及(如果可能的话)MAC地址。例如,Ruby中的时间服务器,请参阅评论。tcpserver=TCPServer.new("",80)iftcpserverputs"Listening"loopdosocket=tcpserver.acceptifsocketThread.newdoputs"Connectedfrom"+#HERE!HowcanigettheIPAddressfromtheclient?socket.write(Time.now.to_s)socket.closeendendendend非常感谢!

  9. ruby-on-rails - 是否可以让 ActiveRecord 为使用 :joins option? 加载的行创建对象 - 2

    我需要做这样的事情classUser'User',:foreign_key=>'abuser_id'belongs_to:gameendclassGame['JOINabuse_reportsONusers.id=abuse_reports.abuser_id','JOINgamesONgames.id=abuse_reports.game_id'],:group=>'users.id',:select=>'users.*,count(distinctgames.id)ASgame_count,count(abuse_reports.id)asabuse_report_count',:

  10. ruby-on-rails - 如何在 Rails 3 中禁用 XML 解析 - 2

    我想禁用HTTP参数的自动XML解析。但我发现命令仅适用于Rails2.x,它们都不适用于3.0:config.action_controller.param_parsers.deleteMime::XML(application.rb)ActionController::Base.param_parsers.deleteMime::XMLRails3.0中的等价物是什么? 最佳答案 根据CVE-2013-0156的最新安全公告你可以将它用于Rails3.0。3.1和3.2ActionDispatch::ParamsParser::

随机推荐