Как создать ссылку на событие Календаря Google? - PullRequest
0 голосов
/ 26 декабря 2018

Если у меня есть идентификатор события в Календаре Google , например:

4htgpmm1hmak744r0kbkdcodar@google.com

Как я могусоздать URL для просмотра сведений о событии в интерфейсе Календаря Google?

Например, если я захожу на событие календаря Google, я вижу такой URL:

https://calendar.google.com/calendar/r/eventedit/NGh0Z3BtbTFobWFrNzQ0cjBrYmtkY29kYXIgZXVndTlrYW4xZGRpMXBtaTZzazNpYjWoNmdAZw

Какую функцию / алгоритм я могу запустить, чтобы перейти от 4htgpmm1hmak744r0kbkdcodar@google.com к NGh0Z3BtbTFobWFrNzQ0cjBrYmtkY29kYXIgZXVndTlrYW4xZGRpMXBtaTZzazNpYjWoNmdAZw?

Бонус: бонус был бы, если бы был и метод ярлыка, который работал CalendarEvent с помощью Google Apps Script.Например, если был метод, такой как getUrl(), точно так же, как есть метод getId () .

Ответы [ 2 ]

0 голосов
/ 30 июля 2019

@ У Senseful был очень полезный ответ, и он работает!

Несколько важных вещей, которые стоит отметить, добавляя к вышесказанному.Во-первых, при кодировании base64 в конце вы получите ==, удалите это

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

https://calendar.google.com/calendar/r/...

https://calendar.google.com/calendar/b/2/r/...

https://calendar.google.com/calendar/b/3/r/...

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

0 голосов
/ 26 декабря 2018

Поскольку одно и то же событие может существовать в нескольких календарях (например, путем приглашения к нему других), идентификатор события не является достаточной информацией.

Чтобы создать URL-адрес, вам понадобится как идентификатор события (, чтобы узнать, как его найти ), так и идентификатор календаря (инструкции по его поиску см. Ниже). Затем вам нужно закодировать как base64, и, наконец, у вас будет действительная ссылка на событие Календаря Google.

Для следующих инструкций представьте, что у нас есть событие Event1,и он существует в обоих календарях, CalendarA и CalendarB.

В интерфейсе Календаря Google вы сможете просматривать любую из следующих комбинаций:

  • Event1 в CalendarA
  • Событие1 в КалендареB

Давайте назначим следующие идентификаторы:

  • Идентификатор события1: 4htgpmm1hmak744r0kbkdcodar@google.com
  • Идентификатор календаря: eugu9kan1ddi1pmi6sk3ibg.calendar.google.com
  • идентификатор CalendarB: afd3zeuguoepmi32s5i56g@group.calendar.google.com

Чтобы создать URL-адрес события:

  1. Получите event-id, который является идентификатором события без @google.com

    Например, для Event1 у нас есть 4htgpmm1hmak744r0kbkdcodar

  2. Получите calendar-id, которыйидентификатор календаря с @group.calendar.google.com заменен на @g

    Например, для календаряA мыиметь eugu9kan1ddi1pmi6sk3ib56g@g

  3. Соединить два значения с пробелом в середине.

    <event-id> <calendar-id>
    

    Например, для Event1 + CalendarA, мы имеем:

    4htgpmm1hmak744r0kbkdcodar eugu9kan1ddi1pmi6sk3ib56g@g
    
  4. Кодировать значение как base64 (например, https://www.base64decode.org):

    NGh0Z3BtbTFobWFrNzQ0cjBrYmtkY29kYXIgZXVndTlrYW4xZGRpMXBtaTZzazNpYjWoNmdAZw
    
  5. Теперь вы можете добавить это значение к https://calendar.google.com/calendar/r/eventedit/

    https://calendar.google.com/calendar/r/eventedit/NGh0Z3BtbTFobWFrNzQ0cjBrYmtkY29kYXIgZXVndTlrYW4xZGRpMXBtaTZzazNpYjWoNmdAZw
    
  6. Готово!Этот URL приведет вас к событию календаря в интерфейсе Google.


Как найти идентификатор календаря

Если вам нужны инструкции, как найтиID календаря ...

Чтобы найти идентификатор календаря:

  1. Перейти к настройкам календаря
  2. Прокрутите вниз, пока не найдете поле идентификатора календаря.

    Это может быть значение, которое заканчивается на @group.calendar.google.com, ваш адрес электронной почты или другое значение.

Если у вас возникли проблемы с поиском идентификатора календаря, другоеИнструмент, который может помочь, это добавление параметра eventdeb=1 к URL , переход к информации Устранение неполадок события, а затем поиск значений organizer или participantоба из которых содержат идентификаторы календаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...