我正在使用 Google Calendar v3 API,并且我有一个 Visual Basic 应用程序。
它已经工作了很多年,而且仍然有效,但我在编译过程中注意到一个警告:
Googles.Apis.Calendar.v3.Data.Event
我初始化变量:
Dim oEvent As New Data.Event With {
.Summary = sEvent.strTitle,
.Description = sEvent.strEventDetails,
.Location = sEvent.strLocation
}
但有一点特别:
Dim eventStartDT As New Data.EventDateTime() With {
.DateTime = dtDateTimeStart
}
Dim eventEndDT As New Data.EventDateTime() With {
.DateTime = dtDateTimeFinish
}
oEvent.Start = eventStartDT
oEvent.End = eventEndDT
我查看了文档:
https://developers.google.com/calendar/api/v3/reference/events
他们暗示我的代码没问题。它指出:
"start": { "date": date, "dateTime": datetime, "timeZone": string }, "end": { "date": date, "dateTime": datetime, "timeZone": string },
然而,在编译过程中:
... Program.vb(955,26):警告 BC40000:“公共可重写重载属性
”已过时:“此属性已过时,可能会出现意外行为;请使用DateTime As Date?
代替。'.DateTimeDateTimeOffset
我不知道该怎么办。
我确认新房产已列出:
看来这一段:
Dim eventStartDT As New Data.EventDateTime() With {
.DateTime = dtDateTimeStart
}
Dim eventEndDT As New Data.EventDateTime() With {
.DateTime = dtDateTimeFinish
}
oEvent.Start = eventStartDT
oEvent.End = eventEndDT
应该是这样的:
Dim eventStartDT As New Data.EventDateTime() With {
.DateTimeDateTimeOffset = New DateTimeOffset(dtDateTimeStart)
}
Dim eventEndDT As New Data.EventDateTime() With {
.DateTimeDateTimeOffset = New DateTimeOffset(dtDateTimeFinish)
}
oEvent.Start = eventStartDT
oEvent.End = eventEndDT
还有一个构造函数允许您设置与 UTC 的偏移量。请参阅相关文档此处。