【发布时间】:2016-09-07 10:35:57
【问题描述】:
我正在尝试使用 EWS 向其他交换帐户添加新约会。我正在尝试从 Web 服务器执行此操作。我有代码可以将信息添加到登录到服务器的帐户中,但无法弄清楚如何将约会添加到其他人的帐户中。我想我因为 Exchange 服务凭据而挂断了电话。我想也许如果我传入管理员的凭据,我就可以添加到某人的帐户中,但这也不起作用。希望有人可以帮助我指出正确的方向。这是我正在努力将约会添加到我自己的日历中的代码。
谢谢 香农
Friend Shared Function GetService(emailAddress As String) As Microsoft.Exchange.WebServices.Data.ExchangeService
Dim Service As Microsoft.Exchange.WebServices.Data.ExchangeService = Nothing
Try
Service = New Microsoft.Exchange.WebServices.Data.ExchangeService(Microsoft.Exchange.WebServices.Data.ExchangeVersion.Exchange2013)
' Microsoft recommends to use AutoDiscoverUrl to ensure that always the best endpoint for the given user is used.
Service.AutodiscoverUrl(emailAddress)
Service.UseDefaultCredentials = True
Service.Credentials = New WebCredentials("administrator", "password", "domain.com")
Catch ex As Microsoft.Exchange.WebServices.Data.AutodiscoverLocalException
'Seems that user does not work on Exchange 2007 SP1 or later?
End Try
Return Service
End Function
Private Sub TestIt()
Try
'Create appointment object and set properties as required
'System.DirectoryServices.AccountManagement.UserPrincipal.Current.EmailAddress
Dim appt As Appointment = New Appointment(GetService("jim@domain.com"))
appt.Subject = "Holidays"
appt.Body = "The appointment is for holiday placeholder"
appt.Start = Now()
appt.End = appt.Start.AddHours(24)
appt.IsAllDayEvent = True
appt.LegacyFreeBusyStatus = LegacyFreeBusyStatus.OOF
appt.Save(WellKnownFolderName.Calendar, SendInvitationsMode.SendToNone)
Catch ex As Exception
Dim x As String
x = ""
End Try
End Sub
【问题讨论】: