使用回调令牌的phpews

使用回调令牌的phpews,php,exchangewebservices,office365-apps,Php,Exchangewebservices,Office365 Apps,有没有人幸运地使用EWS回调令牌而不是用户名/密码来验证来自PHP的EWS SOAP请求?我一直在看这个项目,当你在谷歌上搜索这个,但它只支持用户名/密码认证,因为我可以告诉你 下面是一个关于如何做我想做的事情的例子,但它使用的是C#而不是PHP,我不知道如何将这里发生的事情转换成我可以在PHP中使用的东西。 我正在开发一个Outlook邮件应用程序,它允许我的用户将他们正在查看的当前电子邮件保存到链接到特定客户端的数据库中。实际上,我正在重建一个旧的Outlook加载项,它最初是几年前使用V

有没有人幸运地使用EWS回调令牌而不是用户名/密码来验证来自PHP的EWS SOAP请求?我一直在看这个项目,当你在谷歌上搜索这个,但它只支持用户名/密码认证,因为我可以告诉你

下面是一个关于如何做我想做的事情的例子,但它使用的是C#而不是PHP,我不知道如何将这里发生的事情转换成我可以在PHP中使用的东西。


我正在开发一个Outlook邮件应用程序,它允许我的用户将他们正在查看的当前电子邮件保存到链接到特定客户端的数据库中。实际上,我正在重建一个旧的Outlook加载项,它最初是几年前使用VB.net构建的。Outlook加载项使用的新体系结构允许您构建在Outlook桌面版、移动版和OWA中运行的应用程序。不幸的是,新的体系结构不允许在应用程序本身中直接访问邮件项目。相反,您应该在应用程序中使用getCallbackTokenAsync方法来获取令牌,该令牌与EWS url和项目ID一起传递到基于web的后端,以便后端可以直接向Exchange服务器发出SOAP请求,以从邮件项目(如附件)获取属性。

我们没有PHP示例,但是为了发出正确的请求,首先构造请求主体(SOAP-EWS请求本身),然后将授权头设置为“bearer”,并将令牌放在后面。它应该是这样的“授权:承载abcdef1234…”

你到底有什么问题?你能分享你为构建web请求而编写的代码吗


此外,我们在这里有一个专门的office应用论坛:

我的基本问题是,我能找到的所有使用PHP的示例都使用NTLM身份验证,我认为我不希望使用NTLM身份验证,因为我使用的是令牌而不是用户名/密码组合进行身份验证。我会给它一个镜头,并评论我的结果。感谢安德鲁斯关于标题格式的提示。我能够修改在github上找到的php ews库,以使用回调令牌进行身份验证,而不是用户名/密码。如果有人对此感兴趣,您只需要修改NTLMSoapClient.php,这样NTLMSoapClient类的uu doRequest方法就会添加一个http头“Authorization:Bearer”。$YourCallbackToken并确保您修改该方法以不包括设置用户名/密码身份验证的curl\u setopt调用。太棒了!很高兴你成功了。如果您有任何其他问题,请告诉我们。