【问题标题】:php-ews Access all calendars including sharedphp-ews 访问所有日历,包括共享
【发布时间】:2015-01-16 02:08:55
【问题描述】:

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

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

$request->ParentFolderIds->DistinguishedFolderId->Mailbox = new StdClass;
$request->ParentFolderIds->DistinguishedFolderId->Mailbox->EmailAddress = 'email@address.com';    

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

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

【问题讨论】:

    标签: php calendar exchangewebservices php-ews


    【解决方案1】:

    “email@address.com”的值需要是会议室的主 SMTP 地址。如果您已经这样做了,那么查看发送到服务器的完整 SOAP 请求会很有帮助。

    【讨论】:

    • 我向 IT 部门询问了那个房间的地址(因为我无法直接访问管理控制台),他们说:“据我所知,共享日历没有地址除了主人。”除了使用管理控制台,我还有什么方法可以获取日历的 SMTP 地址吗?
    • 您可以登录 Outlook Web App 并查看通讯簿。例如,对于我来说,在 Exchange 2013 上,我转到顶部的“人员”,然后展开“目录”,然后选择“所有房间”。您应该在那里看到它的电子邮件地址。他们是正确的,共享日历没有 SMTP 地址,只有共享日历的所有者,在这种情况下,就是会议室。 (除非我完全不理解你的情况:))
    • 在目录中找不到它,我很确定我的组织没有通过 Exchange 创建房间,而是由 Outlook 级别的用户创建。查看共享日历的属性,类型显示为“包含日历项的文件夹”。我打赌这会有所作为,所以接下来我将沿着这条路走下去。感谢您迄今为止的帮助,杰森。
    • 所以澄清一下,这基本上是用户邮箱中的辅助日历?我不太清楚这里的情况。 UserB 是否有与 UserA 共享的辅助日历?
    猜你喜欢
    • 2014-07-09
    • 1970-01-01
    • 2011-05-12
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多