Javascript 在Outlook Web Access(OWA)中读取电子邮件标题

Javascript 在Outlook Web Access(OWA)中读取电子邮件标题,javascript,jquery,exchangewebservices,office365,outlook-web-app,Javascript,Jquery,Exchangewebservices,Office365,Outlook Web App,我正在开发outlook Web应用程序(Office 365开发者)。关于这一点,是否有办法读取收件箱中所选邮件的标题?。我正在使用Exchange server 2013。我想使用Jquery或Javascript来编写代码 我试图添加Microsoft的“邮件头分析器”(链接:-'')。现在它工作正常,可以读取标题。但我需要使用自己的代码实现相同的功能 如果有人能提供一个很好的参考作为开始,我将不胜感激。(因为,我在搜索谷歌上下了很大的功夫。但是……还是没有运气) 提前感谢。首先,我要感谢

我正在开发outlook Web应用程序(Office 365开发者)。关于这一点,是否有办法读取收件箱中所选邮件的标题?。我正在使用Exchange server 2013。我想使用Jquery或Javascript来编写代码

我试图添加Microsoft的“邮件头分析器”(链接:-'')。现在它工作正常,可以读取标题。但我需要使用自己的代码实现相同的功能

如果有人能提供一个很好的参考作为开始,我将不胜感激。(因为,我在搜索谷歌上下了很大的功夫。但是……还是没有运气)


提前感谢。

首先,我要感谢所有回复我的人,他们为我制定了解决方案。特别感谢@FreeAsInBeer和Piao先生。在花了几天时间之后,我能够开发出以下获取邮件标题的解决方案。我从代码中删除了所有不必要的业务逻辑,最后生成了以下代码。它可以用于使用JQuery读取收件箱电子邮件的标题

我正在外面请求EWS获取标题。通过它的回调方法,我可以检索到预期的结果。之后,最好使用jQuery.parseXML来读取和操作响应(代码中未包含)

我希望这个解释能对你有所帮助

var _mailbox;
var _ItemId1

(function () {
    "use strict";
    // The Office initialize function must be run each time a new page is loaded
    Office.initialize = function (reason) {
        $(document).ready(function () {
            app.initialize();
            _mailbox = Office.context.mailbox;
            _ItemId1 = _mailbox.item.itemId;         
        });
    };  
})();

function getSelectedEmailHeaders() {
    // Wrap an Exchange Web Services request in a SOAP envelope.
    var var1 = '<?xml version="1.0" encoding="utf-8"?>';
    var var2 = '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';
    var var3 = '  <soap:Header>';
    var var4 = '    <t:RequestServerVersion Version="Exchange2010" />';
    var var5 = '  </soap:Header>';
    var var6 = '  <soap:Body>';
    var var7 = '    <m:GetItem>';
    var var8 = '      <m:ItemShape>';
    var var9 = '        <t:BaseShape>IdOnly</t:BaseShape>';
    var var10 = '        <t:AdditionalProperties>';
    var var11 = '          <t:FieldURI FieldURI="item:Subject" />';
    var var12 = '          <t:FieldURI FieldURI="item:MimeContent" />';
    var var13 = '        </t:AdditionalProperties>';
    var var14 = '      </m:ItemShape>';
    var var15 = '      <m:ItemIds>';
    var var16 = '         <t:ItemId Id="' + _ItemId1 + '" />';
    var var17 = '      </m:ItemIds>';
    var var18 = '    </m:GetItem>';
    var var19 = '  </soap:Body>';
    var var20 = '</soap:Envelope>';

    var envelopeForHeaders = var1 + var2 + var3 + var4 + var5 + var6 + var7 + var8 + var9 + var10 + var11 + var12 + var13 + var14 + var15 + var16 + var17 + var18 + var19 + var20;
    //Calling EWS
    _mailbox.makeEwsRequestAsync(envelopeForHeaders, callbackForHeaders);
}

//This Function called when the EWS request is complete.
function callbackForHeaders(asyncResult) {
    //Write the content of the asyncResult on console
    console.log(asyncResult);
}
var\u邮箱;
变量_ItemId1
(功能(){
“严格使用”;
//每次加载新页面时,必须运行Office初始化功能
Office.initialize=函数(原因){
$(文档).ready(函数(){
app.initialize();
_邮箱=Office.context.mailbox;
_ItemId1=\u mailbox.item.itemId;
});
};  
})();
函数getSelectedEmailHeaders(){
//将Exchange Web服务请求包装在SOAP信封中。
VarVar1='';
VarVar2='';
var var3='';
var var4='';
var var5='';
var var6='';
var var7='';
var var8='';
var var9='IdOnly';
VarVar10='';
var var11='';
var var12='';
var var13='';
var var14=“”;
var var15='';
var var16='';
var var17='';
var var18='';
var var19='';
var var20='';
var envelopeForHeaders=var1+var2+var3+var4+var5+var6+var7+var8+var9+var10+var11+var12+var13+var14+var15+var16+var17+var18+var19+var20;
//呼叫EWS
_makeEwsRequestAsync(信封阅读器、callbackForHeaders);
}
//此函数在EWS请求完成时调用。
函数callbackForHeaders(asyncResult){
//在控制台上写入asyncResult的内容
log(异步结果);
}

多谢各位。Kushan Randima

@user1800337为什么不发布您迄今为止的尝试呢。我们不是来帮你做工作的。要什么版本的Exchange?如果是2013\Office365,请查看以下MailApp如果您不在2013/Office 365上,则无法扩展OWA以显示电子邮件标题。当然,您应该能够在外部发出EWS请求以获取标题…@Glen Scales,非常感谢您提供此链接。我认为这可能是解决这个问题的办法。但不幸的是,当我按下“添加”按钮时,它会将我指向404。@FreeAsInBeer,对不起。到目前为止,我还没有找到任何有意义的解决办法。这对我来说是一种研究。非常感谢。