1

私はGoogleCalendarAPIをサポートするカスタムメモ帳アプリケーションに取り組んでおり、しばらくの間行き止まりになっています。問題は、(標準コードを使用して)既存のイベントを更新/調整しようとすることです。しかし、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;

このコードでは、クエリは、Whenクラスから簡単にアクセスできる単一の発生イベントの開始/終了時刻を含むEventFeedタイプを返します。ただし、そのコードをC#ではなくVBに変換すると(VB.NET 2010でnotesアプリケーションを作成しました)、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()

私はネットを広範囲に検索しました。どんな回答でも大歓迎です!

4

1 に答える 1

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()

これがあなたを助けることを願っています。

于 2013-03-04T05:15:00.417 に答える