没有查看特定保存的对话Javascript

时间:2017-10-17 11:22:11

标签: exchangewebservices skype-for-business skypedeveloper

基本上我的应用程序可以通过Skype For Business阅读已保存的对话。但Skype for business无法通过我的应用程序读取已保存的会话。

我在开发应用程序时使用JavaScript。

以下详细信息;

我正在尝试保存到对话历史文件夹,并在本机Skype for Business客户端中正确查看。

这是我的SOAP请求:

 
POST /EWS/Exchange.asmx HTTP/1.1
Host: <username>:<password>@<domain>
Content-Type: text/xml

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
  xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2013" />
  </soap:Header>
  <soap:Body>
    <m:CreateItem MessageDisposition="SaveOnly">
      <m:SavedItemFolderId>
        <t:FolderId Id="AAMkADI2ZWUxY2Y4LTM4MjQtNGRiMC04NGU5LWNjMTkwMmI2ZGZhYwAuAAAAAAARYud90uTpQaW383uiLjbQAQBu8bl+jmTVT6UWWk0qHuXQAAAA2qSWAAA=" ChangeKey="AQAAABYAAABu8bl+jmTVT6UWWk0qHuXQAAAA2q+x" />
      </m:SavedItemFolderId>
      <m:Items>
        <t:Message>
          <t:ItemClass>IPM.Note.Microsoft.Conversation</t:ItemClass>
          <t:Subject>Conversation with John Doe</t:Subject>
          <t:Body BodyType="HTML">
            <![CDATA[<head
            xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:msxsl="urn:schemas-microsoft-com:xslt"
            xmlns:history="http://schemas.microsoft.com/2008/10/sip/convItems"
            xmlns:rtc="urn:microsoft-rtc-xslt-functions"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><style type="text/css">
            <!-- @charset "utf-8"; body { margin-left: 11px; margin-top: 11px; margin-right: 11px; margin-bottom: 11px; } p { margin:0; padding:0; } .header { font-size: 16px; font-style: normal; line-height: 18px; font-weight: bold; font-variant: normal; text-transform: none; color: #000000; text-decoration: none; font-family: "Segoe UI"; } .callDuration { font-family: "Segoe UI"; font-size: 11px; font-style: normal; line-height: 18px; font-weight: normal; font-variant: normal; text-transform: none; color: #000000; text-decoration: none; } .notes_bkg { background-color: #e4eefc; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #b5c4df; vertical-align: middle; padding-top: 5px; padding-right: 8px; padding-bottom: 5px; padding-left: 20px; } .notes_title { font-family: "Segoe UI"; font-size: 12px; font-style: normal; line-height: 18px; font-weight: bold; font-variant: normal; text-transform: none; color: #15429d; text-decoration: none; } .note_message { font-family: "Segoe UI"; font-size: 11px; font-style: normal; line-height: 18px; font-weight: normal; font-variant: normal; text-transform: none; color: #15429d; text-decoration: none;} .list_name { font-family: "Segoe UI"; font-size: 12px; font-style: normal; font-weight: bold; font-variant: normal; text-transform: none; color: #000000; text-decoration: none; line-height: 18px; } .list_title_company { font-family: "Segoe UI"; font-size: 11px; font-style: normal; line-height: 18px; font-weight: normal; font-variant: normal; text-transform: uppercase; color: #666666; text-decoration: none; } .list_label { font-family: "Segoe UI"; font-size: 11px; font-style: normal; line-height: 25px; font-weight: normal; font-variant: normal; text-transform: none; color: #C0C0C0; text-decoration: none; } .links { font-family: "Segoe UI"; font-size: 11px; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; color: #0000FF; text-decoration: underline; } .line { border-top-width: 1px; border-top-style: solid; border-top-color: #b5c4df; height: 1px; background-color: #b5c4df; } .footer_line { padding-top: 30px; padding-bottom: 0px; padding-right: 0px; padding-left: 0px; } .footer { font-family: "Segoe UI"; font-size: 11px; font-style: normal; line-height: 0px; font-weight: normal; font-variant: normal; text-transform: none; color: #C0C0C0; text-decoration: none; padding-top: 11px; padding-bottom: 8px; } .header_box { padding-top: 11px; padding-bottom: 11px; } .contacts_box { padding-top: 20px; padding-bottom: 0px; padding-right: 0px; padding-left: 80px; } .list_value { font-family: "Segoe UI"; font-size: 11px; font-style: normal; line-height: 25px; font-weight: normal; font-variant: normal; text-transform: none; color: #000000; text-decoration: none; } .im_sender { font-family: "Segoe UI"; font-size: 11px; font-style: normal; line-height: 18px; font-weight: bold; font-variant: normal; text-transform: none; color: #666666; text-decoration: none; } .message_timestamp { font-family: "Segoe UI"; font-size: 11px; font-style: normal; line-height: 18px; font-weight: bold; font-variant: normal; text-transform: none; color: #666666; text-decoration: none; } .messageInfo { margin-left:8px; } .notification { font-family: "Segoe UI"; font-size: 11px; font-style: normal; line-height: 18px; font-weight: normal; font-variant: normal; text-transform: none; color: #666666; text-decoration: none; } -->
          </style>
        </head>
        <body>
          <div
            xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:msxsl="urn:schemas-microsoft-com:xslt"
            xmlns:history="http://schemas.microsoft.com/2008/10/sip/convItems"
            xmlns:rtc="urn:microsoft-rtc-xslt-functions">
            <span>My Name</span>
            <span>05:28 PM:</span>
            <div>
              <meta name="Generator" content="Microsoft Word 15 (filtered)"
                <style>
                  <!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:"Segoe UI"; panose-1:2 11 5 2 4 2 4 2 2 3;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin-top:0cm; margin-right:0cm; margin-bottom:8.0pt; margin-left:0cm; line-height:107%; font-size:11.0pt; font-family:"Calibri",sans-serif;} .MsoChpDefault {font-family:"Calibri",sans-serif;} .MsoPapDefault {margin-bottom:8.0pt; line-height:107%;} /* Page Definitions */ @page WordSection1 {size:612.0pt 792.0pt; margin:72.0pt 72.0pt 72.0pt 72.0pt;} div.WordSection1 {page:WordSection1;} -->
                </style>
                <div>
                  <p style="margin-bottom:0cm;margin-bottom:.0001pt;line-height:normal;text-autospace:none">
                    <span style="font-size:10.0pt;font-family:&quot;Segoe UI&quot;,sans-serif;color:black">test</span>
                  </p>
                </div>
              </div>
            </div>
          </body></html>]]>
        </t:Body>
        <t:ExtendedProperty>
          <t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" PropertyName="ConversationXml.{CA2F170A-A22B-4f0a-B899-93439DEC3FBC}" PropertyType="String" />
          <t:Value>&lt;conversations
            xmlns=&quot;http://schemas.microsoft.com/2008/10/sip/convItems&quot; minSupportedClientVersion=&quot;3.0.0.0&quot;&gt;&lt;conversationXml&gt;&lt;/conversationXml&gt;&lt;/conversations&gt;
          </t:Value>
        </t:ExtendedProperty>
        <t:ExtendedProperty>
          <t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" PropertyName="Direction.{2DA4DF04-920D-4b0b-A1D7-5FC9D21857FE}" PropertyType="Integer" />
          <t:Value>1</t:Value>
        </t:ExtendedProperty>
        <t:ExtendedProperty>
          <t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" PropertyName="Modalities.{0885EA21-B7A5-4050-BFDB-AD46DE1D6A87}" PropertyType="Integer" />
          <t:Value>1</t:Value>
        </t:ExtendedProperty>
        <t:ExtendedProperty>
          <t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" PropertyName="IsCustomSubject.{703DC3CB-8F24-4e3f-932F-206233656759}" PropertyType="Integer" />
          <t:Value>0</t:Value>
        </t:ExtendedProperty>
        <t:ExtendedProperty>
          <t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" PropertyName="DisplayDirection.{4255C773-497E-4b5e-9205-F360CAF3316A}" PropertyType="String" />
          <t:Value>Incoming</t:Value>
        </t:ExtendedProperty>
        <t:ExtendedProperty>
          <t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" PropertyName="RemoteParty.{664AD731-19D0-4344-93FD-682FE0440D95}" PropertyType="String" />
          <t:Value>john.doe@domain</t:Value>
        </t:ExtendedProperty>
        <t:ExtendedProperty>
          <t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" PropertyName="HistoryInfo.{553F3F08-FC28-41db-859E-63457407F806}" PropertyType="String" />
          <t:Value>john.doe@domain</t:Value>
        </t:ExtendedProperty>
        <t:ExtendedProperty>
          <t:ExtendedFieldURI PropertyTag="3591" PropertyType="Integer" />
          <t:Value>1</t:Value>
        </t:ExtendedProperty>
        <t:ToRecipients>
          <t:Mailbox>
            <t:EmailAddress>john.doe@domain</t:EmailAddress>
          </t:Mailbox>
          <t:Mailbox>
            <t:EmailAddress>my.account@domain</t:EmailAddress>
          </t:Mailbox>
        </t:ToRecipients>
        <t:From>
          <t:Mailbox>
            <t:Name>My Name</t:Name>
            <t:EmailAddress>my.account@domain</t:EmailAddress>
          </t:Mailbox>
        </t:From>
      </t:Message>
    </m:Items>
  </m:CreateItem>
</soap:Body>undefined</soap:Envelope>

我在上面的请求中使用虚拟数据。标记<SavedItemFolderId>内的文件夹ID是转化历史记录文件夹的ID。该请求还有一个非常大的HTML内容和样式。

我可以将项目保存到Conversation History文件夹中,并在我的Outlook客户端中查看。

虽然我可以将其视为原生Skype for Business Windows客户端中的“对话历史记录”项目,但是当我双击它时,我看不到对话内容(消息)。

我认为我正在以错误的方式进行配置或HTML内容。

有没有人试图保存对话历史记录并在原生客户端中查看?你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

真正的问题是,你是genetaring conversationXml,但是你没有把你的消息体放在这个conversationXML中。因此,如果您给出如下参数,您将解决问题。

你会看到+ body +(身体格式为HTML)

顺便说一句,你应该给出特定的格式你正在放置正文(文本/ HTML,文本/ RTF)

let cnvXML ='<conversations xmlns=\"http://schemas.microsoft.com/2008/10/sip/convItems\" minSupportedClientVersion=\"3.0.0.0\"><conversationXml><imReceived xmlns=\"http://schemas.microsoft.com/2008/10/sip/convItems\" ts=\"2017-11-14T07:18:47Z\" from=\"sip:tan.tastan@gbsolutions.work\" displayName=\"Tan Tastan\" firstMessage=\"true\" type=\"text/html\"><messageInfo type=\"text/html\" msgid=\"\" sequenceid=\"0\">'+body+'</messageInfo></imReceived></conversationXml></conversations>';

然后你必须改变这两个参数,如下所示;

... SetExtendedProperty(RemoteParty,“sip:participantName@yourDomain.com”); ... SetExtendedProperty(HistoryInfo,“sip:participantName@yourDomain.com”);

之后,您将意识到Native Skype的历史记录选项卡中的另一个问题,您将看到未显示消息预览。因此,如果您添加如下参数,您将解决第二个问题。

... SetExtendedProperty(PreviewMessage,messagePreview);

我希望我能清楚地解释这个解决方案。