1

gdata API を使用して、パブリック カレンダー フィードからいくつかのイベント エントリを取得したいと考えています。私が使用しているコードは次のとおりです。

var calendarService = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0');

var feedUri = 'http://www.google.com/calendar/feeds/.../public/basic';
var gquery = new google.gdata.calendar.CalendarEventQuery(feedUri);

gquery.setFutureEvents(true);
gquery.setMaxResults(10);

var callback = function(result) {       
    var entries = result.feed.entry;    
    for (var i = 0; i < entries.length; i++ ) {
      var entry = entries[i];
      var title = entry.getTitle().getText();
      var times = entry.getTimes();
      alert("Title: " + title + " | Times: " + times);
    }    
}
calendarService.getEventsFeed(gquery, callback);  

(フィード URI は、Google Apps カレンダーの公開 (または非公開) XML フィードです)

イベント時間を時間で見つけることを期待してましたが、空の配列です。feedUriの実際のフィードには時間情報が含まれていないため、これはある意味で論理的です。

質問:

  • 私は何を間違っていますか?イベント時間を含むカレンダーエントリを取得する方法は?
  • 完全に役に立たないのに、なぜメソッド getTimes() があるのですか?
4

1 に答える 1

3

編集: 「ベーシック」フィードを使用しているのを見ましたが、代わりに「フル」フィードを試しましたか? 基本フィードの説明は次のとおりです。

拡張要素のない基本的な Atom フィード。その および プロパティには、事前にレンダリングされた HTML が含まれています。

さらに、単一のイベントと繰り返し発生するイベントに注意する必要があります。定期的なイベントに関する情報は、 から入手できますgetRecurrence()。個々のイベントについてgetTimes()は、正しい情報を提供します。

API 経由で情報が表示されない場合は、ソース データを直接見て、そこに表示されるかどうかを確認してください。

于 2009-10-06T06:19:58.940 に答える