13

Google カレンダーの JavaScript API を使用して、ユーザーを認証および承認できます。次にやりたいことは、そのユーザーを公開カレンダーに登録することです。カレンダーのIDで google.gdata.calendar.CalendarEntry コンストラクターを呼び出すことができると思っていましたが、うまくいきませんでした

var entry = google.gdata.calendar.CalendarEntry("idOfCalendar");

また、 google.gdata.atom.Id("idOfCalendar"); でエントリ ID のインスタンスを作成しようとしました。それを CalendarEntry コンストラクターに追加します。セットメソッドの使用も機能しませんでした。

InsertEntry メソッドを使用してエントリを追加しましたが、次のエラーが発生しました

エラー: allcalendars プロジェクションのお気に入りリストにカレンダーを追加するには、有効なカレンダー ID を指定する必要があります。

google.gdata.calendar.CalendarEventQuery() を使用して、このカレンダーのイベントにアクセスできます

javascript の Google API には、多くの例がありません。誰かが私の問題に対する答えを知っているか、Google カレンダー API を操作するための優れたリソースを知っていますか? 代わりにphpまたはjasonを使用する必要があると思いますか?

**編集 Java Apiリンクで必要なものの例を見つけたので、試しました

function addSubscriptionToCalendar() {
    var feedUri = "http://www.google.com/calendar/feeds/default/allcalendars/full";
    var calendarEntry = new google.gdata.calendar.CalendarEntry();
    calendarEntry.setId("nhl_21_%54oronto+%4daple+%4ceafs#sports@group.v.calendar.google.com");
    calendarService.insertEntry(feedUri, calendarEntry, function(){alert("calendar added")}, handleError);
}

しかし、私は同じエラーが発生しました

4

3 に答える 3

3

allcalendarsではなく、認証済みユーザーのカレンダー エントリを変更/追加するには、owncalendarsフィードを使用する必要があります。

于 2011-05-03T20:49:01.060 に答える
1

カレンダーIDが無効のようです。2番目の例のIDはURLエンコードされているようです。デコードされた値を使用してみてください。

nhl_21_Toronto Maple Leafs#sports@group.v.calendar.google.com

于 2011-04-19T06:43:14.227 に答える