Создание сервиса календаря на основе Google Календаря
Я создаю приложение с элементом календаря. Я рассматриваю возможность создания этой части моего приложения с помощью API Google Calendar. API-это все, о чем я мог мечтать для взаимодействия между календарями, принадлежащими разным аккаунтам Google. Однако та же гибкость не столь очевидна между календарями, принадлежащими одному и тому же аккаунту Google.
Я хочу иметь возможность использовать только 1 аккаунт Google для хранения всех календарей приложения. В рамках этой учетной записи я хочу создать 1 календарь на каждого пользователя. пользователь моего сайта. Я бы хотел, чтобы мои пользователи могли создавать личные события, а также делиться ими друг с другом.
Есть ли способ поделиться событиями в нескольких календарях Google, принадлежащих одному аккаунту Google?
Нежелательные альтернативы:
-
Создание дубликатов записей и управление ими. Я бы предпочел не использовать хак, как создание дубликатов записей - это просто напрашивается на проблемы, когда владелец изменяет атрибуты событие. Кроме того, мне потребуется дополнительная логика, чтобы не позволить не-владельцу редактировать событие, поскольку они технически будут владельцем своей копии.
-
Еще одна альтернатива-чтобы у каждого был реальный аккаунт Google. Есть по крайней мере 2 проблемы с этим:
-
Если они используют свой собственный аккаунт,я не смогу напрямую управлять их календарем, если они не дадут мне свой логин.С. Это ужасная практика на стольких уровнях.
- я мог бы попросите их зарегистрироваться на моем сайте с информацией, необходимой для реального Google acct, в комплекте с подачей капчи и создать новый аккаунт Google для каждого пользователя за кулисами, которыми будет управлять мой сайт, но я просто читаю Google Accounts TOS, и это может нарушить разделы 5.3 и 10.2 в зависимости от того, как они интерпретируются.
-
2 ответа:
Вы хотите использовать #2.
Используйте Google OpenID, чтобы подтвердить, что они владеют определенным аккаунтом google. Используйте OpenAuth, чтобы получить разрешение на добавление и удаление событий.
Еще лучше-просто создайте календарь событий в своем приложении и откройте канал iCal. Таким образом, люди могут использовать эти календари в любом количестве других приложений.
Ваша "нежелательная Альтернатива #2"не так уж нежелательна, поскольку Google поддерживает протокол OpenID/OpenAuth. Это означает, что пользователь может не только войти в ваш сервис с помощью учетных данных Google, но и предоставить вам доступ к своему календарю Google.
Ни в коем случае вам не придется создавать учетные записи Google за кулисами. Для получения дополнительной информации проверьте openid страницы google