0

今日から 2 週間のイベントを選択しようとしています。使用されるロジックは非常に簡単です。すべてのカレンダーを取得してから、イベントを取得して日付範囲を指定する必要があるカレンダーを 1 つ選びます。選択したカレンダーから日付を取得していますが、日付範囲が適用されているようには見えません。現在、以下の日程で 2 つのイベントが予定されています。

  • 10月8日
  • 10月20日

10 月 20 日に予定されているイベントのみを取得する必要がありますが、両方を取得しています。

        CalendarService calService = new CalendarService(calendarAppName);
        calService.setUserCredentials(username, password);

        CalendarQuery calQuery = new CalendarQuery();
        calQuery.Uri = new Uri("https://www.google.com/calendar/feeds/default/owncalendars/full");
        CalendarFeed calFeed = (CalendarFeed)calService.Query(calQuery);

        var activeCalendar = calFeed.Entries.Where(x => x.Title.Text == calendarName).FirstOrDefault();
        if (activeCalendar != null)
        {
           EventQuery evtQuery = new EventQuery(GetCalendarFeed(activeCalendar));
           evtQuery.StartDate = DateTime.Now.AddDays(-1);
           evtQuery.EndDate = DateTime.Now.AddDays(14);
           evtQuery.FutureEvents = false;

           EventFeed evtFeed = calService.Query(evtQuery);
        }

        ...

        private static string GetCalendarFeed(AtomEntry calendarEntry)
        {
           string feedstring = calendarEntry.Id.AbsoluteUri.Substring(63);
           return string.Format("http://www.google.com/calendar/feeds/{0}/private/full", feedstring);
        }

誰かが何か間違ったことを見つけることができますか?

編集: StartTime/EndTime が正しく機能することがわかりました。違いが何であるかはよくわかりませんが、ドキュメントには何も見つからないようです。

4

1 に答える 1

0

代わりにStartTime/EndTimeを使用する必要がありました。代わりにStartDateとEndDateをいつ使用するかはまだわかりませんが、それで問題は解決しました。

于 2010-11-26T04:15:52.230 に答える