【问题标题】:Exchange Web Services- Update tasksExchange Web 服务 - 更新任务
【发布时间】:2017-08-07 22:02:39
【问题描述】:
Dim clientTZService As ExchangeService = New ExchangeService(ExchangeVersion.Exchange2010)


clientTZService.Credentials = New NetworkCredential(userEmail, userPass)
clientTZService.AutodiscoverUrl(userEmail, AddressOf RedirectionCallBack)


      Dim Task1 As Task = New Task(clientTZService)
      Task1.Subject = "New Task"
      Task1.Body = New MessageBody(String.Format("test"))
      Task1.StartDate = DateTime.Now
      Dim DueDate As DateTime = New DateTime(DateTime.Now.Year,      DateTime.Now.Month, DateTime.Now.Day + 2)
      Task1.DueDate = DueDate
          Task1.Recurrence = New Recurrence.MonthlyPattern(New DateTime(2017, 4, 11, 10, 0, 0), 1, 11)
          Task1.Recurrence.StartDate = New DateTime(2017, 4, 11, 10, 0, 0)
          Task1.Save(New FolderId(WellKnownFolderName.Tasks, "test@domain.com"))

谁能告诉我使用 EWS 更新任务的最简单方法,例如: 谢谢。

【问题讨论】:

    标签: c# asp.net vb.net exchangewebservices


    【解决方案1】:

    您用来创建任务的任务类有一个更新方法https://msdn.microsoft.com/EN-US/library/microsoft.exchange.webservices.data.task.update(v=exchg.80).aspx,您可以使用它来更新任务。与 EWS 中的任何其他邮箱项目一样,您需要先使用 FindItems https://msdn.microsoft.com/en-us/library/office/dd633693(v=exchg.80).aspx 查找要更新的对象的 EWSId,然后更改要更改的属性并调用 Update 方法。

    【讨论】:

    • 我在创建任务后保存了它的 ID。所以我想知道是否有任何方法可以遍历任务文件夹,然后在客户想要更改时编辑任务或修改它?
    • 这样的东西会起作用吗?保存任务后,如果任务使用 TAsk1.ID,我将获取 ID,然后将其保存到数据库。当我想更新它时,code Dim item As ItemId = taskrow("OutlookTaskID") Dim task As Task = task.Bind(clientTZService, item) task.Load() task.PercentComplete = 100 Dim instance As ConflictResolutionMode = ConflictResolutionMode .AlwaysOverwrite task.Update(instance)
    【解决方案2】:

    经过艰苦的研究,我想我找到了一种方法。这将更新任务完成!

    请看下面:

      Dim instance As ConflictResolutionMode =  ConflictResolutionMode.AlwaysOverwrite
    
    
                Dim tasksFolder As Folder = Folder.Bind(clientTZService, New FolderId(WellKnownFolderName.Tasks, useremail))
    
                tasksFolder.Load()
                For Each task1 As Task In tasksFolder.FindItems(New ItemView(100))
                    task1.Load()
                    If task1.Id.ToString = taskrow("OutlookTaskID") Then
                        task1.PercentComplete = 100
                        task1.Update(instance)
                        Exit For
                    End If
                Next
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      相关资源
      最近更新 更多