Node.js与MS Exchange EWS的集成

Node.js与MS Exchange EWS的集成,node.js,exchange-server,exchangewebservices,ntlm,Node.js,Exchange Server,Exchangewebservices,Ntlm,我正在尝试使用Node.js调用SOAP Exchange EWS服务。我创建了一个简单的http客户端,如下所示: var https=require('https'); var username='user'; var password='password'; var auth='NTLM'+新缓冲区(用户名+“:”+密码).toString('base64'); 变量选项={ 主机:“exchangehost”, 港口:443, 方法:“post”, 路径:'/Exchange.asmx'

我正在尝试使用Node.js调用SOAP Exchange EWS服务。我创建了一个简单的http客户端,如下所示:

var https=require('https');
var username='user';
var password='password';
var auth='NTLM'+新缓冲区(用户名+“:”+密码).toString('base64');
变量选项={
主机:“exchangehost”,
港口:443,
方法:“post”,
路径:'/Exchange.asmx',
标题:{授权:验证}
};
var request=https.request(选项、函数(响应){
console.log('Status:'+response.statusCode);
};
请求。写(“”);
request.end();

我收到一个状态代码401,我怀疑是因为我没有执行NTLM身份验证所涉及的三个步骤()。是否有人知道Node.js模块用于直接与Exchange EWS通信或使用NTLM进行身份验证,或者我需要自己为Node.js实现该协议?非常感谢您的帮助。

我找到了这个支持与Exchange 2010通信的one Node.js模块,但我仍在努力寻找答案关于如何个人使用它,文档很简单。

您尝试过httpntlm模块吗?

我曾成功地与EWS通信

节点ews
在内部使用
httpntlm
进行NTLM身份验证

就个人而言,我认为节点ews是您最好的选择,因为它几乎已经实现了您与ews交互所需的所有功能。

您是否尝试过npm模块,它具有您正在查看的所有功能+使用模块的非常简单的ntlm身份验证。NTLMv2也受支持

我添加了这个作为答案,因为它将提供问题标题(集成)的完整答案。这些是github链接,这个问题没有什么通用性,所以github自述中提供的示例应该可以工作


[免责声明-我是作者]

谢谢,我正在寻找一种没有模块的更直接的方法。我会检查一下,看看模块是否也能正常工作。我曾尝试使用
exchanger
,但目前
node expat
出现错误,使我无法进一步测试。
错误:找不到模块“../build/Release/node\u expat.node”
你解决过这个问题吗?不幸的是,我没有。我们决定使用Kerberos身份验证,部分原因是我们在这里遇到的问题。这看起来很有希望,也很简单。我不再尝试这样做了,但如果有人能验证它是否有效,我会将它标记为已接受,因为这似乎是一个更通用的NTLM conn埃克托,你好,艾伦,你有没有使用过GetRoom功能?我正在试着把我工作室的日历拿出来看看哪个是available@RasmusBidstrup但是,我还没有完成一些步骤,您必须正确执行。1)为请求提供格式良好的JSON对象,请参见
节点ews
项目页面。2) 确保您使用的参数有效(如正确的电子邮件地址)。请随意,我会尽我所能提供帮助。谢谢:-)我对EWS使用的名称有点困惑,它的约会/会议是我需要找到的房间(通过电子邮件或名称),而不是日历,对吗?我将提出一个案例,试图解释我做了什么以及我的困境。