Как программно подписывать пользователя на календарь Google с помощью javascript?

Привет, я могу проверить подлинность и авторизацию пользователя с помощью javascript API для Google Calendar. то, что я хочу сделать дальше, подписаться на этот пользователь в общедоступный календарь. Я думал, что могу просто вызвать конструктор google.gdata.calendar.CalendarEntry с идентификатором календаря, но это не сработало

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

Я также попытался создать экземпляр идентификатора записи с google.gdata.atom.Id( "idOfCalendar" ); и добавление этого в конструктор CalendarEntry. Использование заданных методов тоже не сработало.

Я использую метод InsertEntry для добавления записи, но я получаю следующую ошибку

Ошибка: должен быть указан допустимый идентификатор календаря для добавления календаря в список избранных в проекции allcalendars.

Я могу получить доступ к событиям этого календаря с помощью google.gdata.calendar.CalendarEventQuery()

Google api для javascript не дает много примеров, кто знает ответ на мою проблему или хороший ресурс для работы с календарем 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#[email protected]");
    calendarService.insertEntry(feedUri, calendarEntry, function(){alert("calendar added")}, handleError);
}

но я получил ту же ошибку

Ответ 1

Вы должны использовать фид owncalendars для изменения/добавления записи календаря для аутентифицированного пользователя allcalendars.

Ответ 2

Похоже, что ваш идентификатор календаря недействителен. Идентификатор из вашего второго примера выглядит как URL-код. Попробуйте использовать декодированное значение:

nhl_21_Toronto Maple Leafs#[email protected]