问题标签 [php-ews]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2312 浏览

php - php-ews:访问共享日历?

使用 php-ews:https ://github.com/jamesiarmes/php-ews

根据此示例,我可以从我自己的日历中列出事件:https://github.com/jamesiarmes/php-ews/wiki/Calendar:-Get-List-(Retrieving-Id-and-ChangeKey)但之后寻找解决方案几个小时我仍然无法找到访问共享日历的方法。

这个问题类似,但没有答案:EWS:访问共享日历

通过查看该搜索结果和其他各种搜索结果(我在 Google 上搜索了“ews 共享日历”的许多变体),我必须找到共享日历的位置,获取 ID,然后使用它。但我无法做到这一点。任何人都可以帮忙吗?

0 投票
1 回答
1676 浏览

php - 使用 PHP-EWS 访问另一个邮箱日历事件

在 PHP-EWS 库(https://github.com/jamesiarmes/php-ews)中,我可以使用以下代码访问特定用户的日历事件:https ://github.com/jamesiarmes/php-ews/wiki/日历:-Get-List-(Retrieving-Id-and-ChangeKey) 在所有库功能中,我们始终使用单个用户的身份验证:

但是如何从另一个用户的邮箱中获取日历事件?如果我在 LDAP 中有一个具有管理员权限的帐户,是否可以使用 PHP-EWS 库从另一个用户邮箱访问日历事件?还是只能访问身份验证中使用的用户帐户凭据的邮箱?

有没有人使用带有 LDAP 管理员帐户的 PHP-EWS 库从另一个用户邮箱访问日历事件的示例?

谢谢你。

0 投票
1 回答
969 浏览

php - PHP SoapServer 格式化

我是 SOAP 新手,并尝试使用 PHP 的 SoapServer 类格式化 SOAP 响应。

知道这是用于EWS 推送订阅回调服务并且我正在使用php-ews库可能很有用。我已设法订阅 EWS 推送订阅,但在格式化 EWS 期望我的回拨服务提供的回复时遇到问题。

我需要我的 PHP SOAP 服务返回的以下 SOAP 响应:

相反,我得到以下输出:

我的 PHP 服务代码:

对我的服务的 SOAP 调用如下:

所以我想我的问题是如何使用 PHP SoapServer 类更改 SOAP 响应的格式?我是否需要添加 WSDL 或将类映射传递给 SoapServer 构造函数?

如果无法使用 SoapServer 类执行此操作,除了创建字符串缓冲区并手动将其传回之外,还有其他方法可以执行此操作吗?

任何帮助将不胜感激。

0 投票
1 回答
1553 浏览

php - 使用 php-ews API 获取分发列表中的联系人列表

我正在使用 PHP-EWS 获取联系人列表。此联系人列表是联系人根文件夹中的分发列表。

实际上我正在使用这个:

我能够获取分发列表的 ID,但无法获取其中的电子邮件地址。我怎样才能得到它的 stdClass 对象或数组?

0 投票
1 回答
316 浏览

curl - PHP-EWS 卡在 curl 7.21.6

我开始对 PHP EWS 的一个问题失去理智。

现在,我有一个客户的服务器是 Ubuntu 11.10 和 CURL 7.21.6(我对此无能为力)和我的开发服务器是 Windows Server 2008 R2 和 CURL 7.30.0。

在两台服务器中,我都使用 PHP-EWS 库配置了两个 Exchange 帐户。

一种是 Exchange 2010 服务器。

另一种是在线交换。

Exchange Online 帐户在两台服务器上都能完美运行。

Exchange 2010 帐户可在我的 Windows 服务器上运行,但不能在远程 Ubuntu 服务器上运行。

由于我无法进行调试(我只有一个用于测试的网页),我只能进行假设。

旧服务器上的旧 CURL 版本会不会有问题?还是操作系统本身是?

0 投票
1 回答
945 浏览

php - PHP-EWS 在多个附件上失败

我使用James Armes 的 PHP-EWS 库

以下代码适用于单个附件,但适用于多个文件。

$ews->SendItem() 返回此错误:

未捕获的 SoapFault 异常:[a:ErrorSchemaValidation] 请求模式验证失败:缺少必需的属性“Id”。

我在这里想念什么?

0 投票
1 回答
114 浏览

php - PHP-EWS while 循环错误无法重新声明类 EwsSendEmail

我正在尝试从 SQL 数据库中提取电子邮件,然后使用 EWS 通过 PHP 向这些电子邮件中的每一个发送电子邮件。但是,当我将 PHP-EWS 代码https://github.com/jamesiarmes/php-ews/放在 while 循环中时,它给了我错误"Cannot redeclare class EwsSendEmail"

这里是代码的布局,看起来我不能在 while 循环中拥有类。但不确定我还能如何从 SQL 表中获取所有数据并为每个数据发送一封唯一的电子邮件,而且我对类的使用不是很熟悉。如果我通过在 SELECT 之后添加 TOP 1 仅从 SQL 中提取一条记录,则该代码可以正常工作。我很感激任何帮助。

0 投票
1 回答
219 浏览

xml - 使用 GroupBy 的 EWS FindItem 结果中的意外元素

我正在使用 EWS(Exchange Web 服务)从我的 Exchange 2013 测试服务器访问数据。我正在使用 PHP 和(有些过时的)php-ews 存储库来执行此操作:github-jamesiarmes-php-ews和更新且支持作曲家的版本:github-deakin-php-ews

我可以按照“jamesiarmes”的 wiki 中所述对 Exchange 服务进行基本调用,但是当我尝试使用 GroupBy 方法时遇到了一些麻烦:如何:在 Exchange 中使用 EWS 执行分组搜索

正如您在 How-to 指南的 XML 响应中看到的那样,通常该<Groups>元素应包含零个或多个<GroupItems>然后将包含项目(在我的情况下为 CalendarItems)。但是我从测试服务器返回的是<Group>元素,而不是<GroupItems>导致我的 $response 对象不完整。

我使用的代码:

这是var_dump()来自$response

我设法使用__getLastResponse()PHP 文档)收集 XML 响应,发现它确实获得了所有想要的项目,但是在<Group>元素中而不是<GroupItems>在 SoapClient 中为<Groups>元素返回一个空对象。

现在我想知道问题出在哪里:

  1. 操作指南是否已过时?我在 EWS 的其他文档中没有找到对这个<Group>元素的任何引用,所以我认为这不是问题。
  2. 我的 Exchange 服务器是在使用另一个 XML 架构还是很奇怪?
  3. php-ews 模式是否已过时?我应该用最终的解决方案来分叉“deakin”回购吗?

我已经找到了一种通过调整 php-ews 模式来使其工作的方法,但是如果问题出在我的测试服务器上,我就不需要费心制作一个 fork 了……我也会在下面发布我当前的解决方案。

我将不胜感激对此的任何意见....

0 投票
1 回答
1433 浏览

php - php-ews 访问所有日历,包括共享

我有一个与我共享的会议室日历。我希望做的是使用 php-ews 来拉出该日历时间表以进行显示。到目前为止,我已经能够毫无问题地轻松显示我的 OWN 日历。这是使用以下代码完成的:https://github.com/jamesiarmes/php-ews/wiki/Calendar:-Get-List-(Retrieving-Id-and-ChangeKey)

我看到一个类似的问题(php-ews:访问共享日历?)有人建议在“仅查看日历文件夹”部分中添加这些行:

这并没有破坏代码或任何东西,但它也没有改变结果。结果,我仍然只得到了我自己的日历。我已经看到提到模仿是一种方法,但由于日历已经与我共享,我认为没有必要这样做。有什么我忽略的吗?我确实有日历的身份路径,即(用大写字母替换识别细节):DOMAIN.com/OU/USERNAME:\calendar\NAME OF CALENDAR

我希望这足以帮助解决问题。关于堆栈溢出有几个问题处理这个问题(但没有解决我问题的答案),所以如果我们把它排序,我一定会把解决方案传递给这些位置。

0 投票
2 回答
782 浏览

php - PHP-EWS:在日历项目上设置多个扩展属性

是否可以使用 PHP EWS 在日历项上设置多个自定义属性?除了这个检索扩展属性的示例之外,我找不到任何关于此的文档。我能够让它适用于单个字段,但我想知道您是否可以设置多个自定义属性。API 似乎暗示了这种可能性。

例如,以下属性在 ExtendedPropertyType.php 中定义:

$Values属性似乎是一个数组,但我从来没有成功地在那里存储任何东西。我的解决方法是将一组值折叠成 JSON 字符串并将其存储在$Value属性中(请参阅下面的答案)。这行得通,但感觉有点骇人听闻。有没有更好的办法?