Вы упомянули две совершенно разные вещи в своем редакторе.
- Первая ссылка относится к Node.js API, который позволяет загружать события из Календаря на СЕРВЕР и взаимодействовать с Календарем для манипулировать им.
- Второй позволяет встроить календарь на веб-страницу. При использовании второго вам не нужен серверный код. Ваш CLIENT_ID и ваш API_KEY должны быть публично предоставлены на веб-странице, но это нормально, они предназначены для такого использования.
ОРИГИНАЛЬНЫЙ ОТВЕТ
Здесь речь идет об архитектуре кода, поэтому в качестве решения может быть предложено не так много простых фрагментов кода. Сначала вам нужно выяснить, что ваша система собирается делать с концептуальной точки зрения:
- Является ли ваш «веб-сайт» (как мы говорим о страницах, но это может быть и API) ) система вещания. Следовательно, он аутентифицируется в 1 (или любом количестве) Календарей Google и предоставляет его содержимое любому пользователю, который получает к нему доступ
- ИЛИ ваша система будет предоставлять информацию из разных Календарей разным пользователям
Концептуально они очень разные, так как в первом случае ваш сервер должен получить доступ к n
Календари и хранить эти ключи, доступные любому пользователю, поэтому вы можете хранить их в переменной, доступной для любой конечной точки, которой нужны эти данные. Во втором случае вам необходимо получить доступ к k
календарям для каждого пользователя и обеспечить согласованное связывание между ними.
В любом случае не должно быть серьезных проблем с перемещением auth token
на одном и том же сервере. до тех пор, пока вы не отправите его случайно в любом ответе.
Кроме того, я не совсем уверен, какие функции Календаря вы используете, но я думаю, что API-интерфейсы Календаря предназначены для срабатывания только несколько раз и так вы не можете просто пересылать запрос API календаря каждый раз, когда пользователь переходит на страницу, где эти данные будут отображаться, а наоборот; Выполните аутентификацию в Calendar API, загрузите данные календаря и сохраните их локально, используйте эти данные для создания своих страниц, а затем через некоторое время обновите sh локальную копию календаря (это будет работать, если ваша система соответствует пункту 1 / но может быть улучшен для работы даже для систем типа 2).