Вопрос по – Получить ссылку (URL) на событие календаря в скрипте приложений Google

7

у меня естьКалендарь событий в скрипте Google Apps, и я хочу, чтобы пользователь мог открыть его, нажав на ссылку. Я думаю, что я могу URL должен выглядеть следующим образом:http://www.google.com/calendar/event?eid=SOMEID&ctz=Etc/GMT . However I can't seem to get the required ID from the Calendar Event. The ID I get from Event.getId() doesn't work in those URL's and there is no event.getUrl().

Кто-нибудь знает, возможно ли это с помощью скрипта приложений?

Ваш Ответ

4   ответа
14

Для данногоevent объект типа CalendarEvent и даноcalendarId, самый простой и эффективный способ создания URL-адреса для просмотра / редактирования соответствующего события в Google Calendar App заключается в следующем:

var splitEventId = event.getId().split('@');
var eventURL = "https://www.google.com/calendar/event?eid=" + Utilities.base64Encode(splitEventId[0] + " " + calendarId);

Лучше всего то, что никаких вызовов Google API, аутентификации ... не требуется!

Это так полезно! Спасибо! URL должен быть, вероятно,https://calendar.google.com/calendar/event?eid= сейчас же xd1936
Подсказка: используйтеgetOriginalCalendarId () чтобы получить идентификатор календаря Rubén
1

var mycal = '[email protected]'
var splitEventId = event.getId().split('@');
var eventUrl = "https://www.google.com/calendar/event?eid=" + 
Utilities.base64Encode(splitEventId[0] + " " + mycal).toString().replace('=','');
0

й есть запрос на усовершенствование, в котором упоминается эта ошибка. Вы можете запустить его, чтобы отслеживать обновления и голосовать за него.

Вопрос 627: ГАЗ для назначений

Этот ответ устарел. Смотрите следующееотве Rubén
0

что есть два типа идентификаторов событий, при создании серии событий есть только одна ссылка, которую вы можете передать на аргументыyyyy/mm/dd, другой будет игнорировать заданную дату и будет просто по умолчанию в текущей дате.

Посмотри на этот календарь:https: //calendar.google.com/calendar/embed SRC = vpaacademy.com_id182o7e82j7f4es5jrefink2g% 40group.calendar.google.com & ЧТЗ = Америка% 2FNew_York

Перейдите к ноябрю и нажмите на событие «Компьютерный класс», нажмите «Подробнее», на которое вы попадетhttps: //calendar.google.com/calendar/r/month/2018/10/29 Ид = MWVqMjBjYmFhMGVrMnA3YTB0bGN0ajJjNzhfMjAxODEwMjlUMjMzMDAwWiB2cGFhY2FkZW15LmNvbV9pZDE4Mm83ZTgyajdmNGVzNWpyZWZpbmsyZ0Bn & ЧТЗ = Америка / New_York & SF = верно

но, получив Bas64 из eid, он возвращаетhttps: //calendar.google.com/calendar/r/month/2018/10/29 Ид = MWVqMjBjYmFhMGVrMnA3YTB0bGN0ajJjNzggdnBhYWNhZGVteS5jb21faWQxODJvN2U4Mmo3ZjRlczVqcmVmaW5rMmdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ = который игнорирует прошедшую дату, как я могу получить этот идентификатор?

потому что он основан на этом вопросе, я подумал, что было бы полезно задать его здесь P H
Если у вас есть другой вопрос, задайте его, нажав кнопкуЗадавать вопро кнопка. lucascaro
Извините, если это звучит резко, когда у вас есть связанные вопросы, обычно лучше задать их как новый вопрос и ссылку на старый. Ответы, которые действительно не отвечают на их вопросы, могут быть удалены, и ваш (очень правильный) вопрос может быть потерян. Благодарность lucascaro

Похожие вопросы