Google Calendar API vb .net 2010,即可到达日历活动的活动时间

时间:2012-12-25 01:22:41

标签: vb.net google-calendar-api

我正在开发一个支持Google Calendar API的自定义记事本应用程序,并且已经有一段时间了。问题是我尝试(使用标准代码)更新/调整现有事件。但是在VB中,我只能设法获得一个AtomFeed,并且只允许更改事件日期/时间(就我所见/ Google而言)。代码:

EventQuery myQuery = new EventQuery(feedUrl);
myQuery.Query = "Tennis";
EventFeed myResultsFeed = myService.Query(myQuery);
if (myResultsFeed.Entries.Count > 0) {
AtomEntry firstMatchEntry = myResultsFeed.Entries0];
String myEntryTitle = firstMatchEntry.Title.Text;

在此代码中,查询返回一个EventFeed类型,其中包含可通过When类轻松访问的单个事件的开始/结束时间。但是,如果我将该代码转换为VB而不是C#(我在VB.NET 2010中创建了我的笔记应用程序),则service.Query方法仅返回AtomFeed。我似乎无法从AtomEntry访问事件开始/结束日期,也没有找到解析或将Atom类型转换为事件类型类的方法...我当前的代码:

Dim myResultsFeed As AtomFeed = service.Query(myQuery)
Dim firstMatchEntry As AtomEntry

If (myResultsFeed.Entries.Count > 0) Then
firstMatchEntry = myResultsFeed.Entries(0)
firstMatchEntry.Title.Text = updatedNote.Subject

'Would be available in the EventEntry class
'firstMatchEntry.times.add(New [When](gNote.GCalendarDate, endDate))
firstMatchEntry.Update()

我在网上广泛搜索过。任何回复都非常感谢!

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解你的问题,但如果你想从vb.net更新你的开始和结束时间,你首先必须清除现有的时间并添加一个新的时间,就好像你会用create事件做的那样。以下是代码。

>

       Dim srvce As New Google.GData.Calendar.CalendarService("gCal")
       Dim query As New FeedQuery
       Dim evntEntry As Google.GData.Calendar.EventEntry

       query.Uri = New Uri(eventSelfURI) 'SELF URI IS THE URI FOR GOOGLE CALENDAR FEED

       srvce.setUserCredentials("<<EMAIL>>", "<<PASSWORD>>")
       Dim calfeed As AtomFeed
       calfeed = srvce.Query(query)


       evntEntry.Title.Text = newTitle
       evntEntry.Content.Content = newContent

       'SETTING UP THE START AND END TIME - FIRST CLEARING EXISTING TIMING AND ADDING NEW
       evntEntry.Times.Clear() 'THIS WILL CLEAR THE EXISTING TIME
       Dim newTime As New [When]()
       newTime.StartTime = newStartDateTime
       newTime.EndTime = newEndDateTime
       evntEntry.Times.Add(newTime)

       evntEntry.Update()

希望这会对你有所帮助。