Подтвердить что ты не робот

Получите JSON из общедоступного Календаря Google

Как я могу получить JSON с событиями общедоступного Календаря Google? У меня есть ID, но я не понимаю. Я не хочу менять свои события и не входить в систему.

Я хотел бы получить JSON от него для синхронизации с моей базой PHP/MySql.

Пробовал https://www.googleapis.com/calendar/v3/calendars/{calendarId}

но получил ошибку входа:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Login Required",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Login Required"
 }
}
4b9b3361

Ответ 1

Ваш календарь должен быть общедоступным публично! Это работает, если вы поделились только статусом free/busy:

http://www.google.com/calendar/feeds/{calendarId}@group.calendar.google.com/public/basic?orderby=starttime&sortorder=ascending&futureevents=true&alt=json

Полная информация - этот только wotrks, только если общий доступ к календарю полностью открыт

http://www.google.com/calendar/feeds/{calendarId}@group.calendar.google.com/public/full?orderby=starttime&sortorder=ascending&futureevents=true&alt=json

Или просто free-busy

http://www.google.com/calendar/feeds/{calendarId}@group.calendar.google.com/public/free-busy?orderby=starttime&sortorder=ascending&futureevents=true&alt=json

Параметры orderby, sortorder и futureevents являются необязательными, но могут помочь вам позже:)

Ответ 2

С 17 ноября 2014 года v1 и v2 API Календаря Google отключены.

API Google Calendar V3 требует аутентификации аутентификации почти для всех своих операций. Насколько я могу судить, это также требует взаимодействия с пользователем.

Однако для общедоступных календарей по-прежнему можно использовать одну ссылку для получения данных JSON (в настоящее время это не документировано Google - я не знаю, контролирует ли она их со своей стороны или частный API, которые могут исчезнуть завтра).

  • Зарегистрируйте свое приложение с помощью Консоли разработчиков Google
  • Активировать API календаря Google в консоли Google Developers.
  • В разделе "Учетные данные" создайте новый ключ доступа к общедоступному API (вы можете захотеть оставить ссылки для проверки)
  • Теперь URL-адрес JSON выглядит следующим образом:

    https://www.googleapis.com/calendar/v3/calendars/ {calendarid}/events? key = {Свой открытый ключ API}

(фигурные скобки {} не должны присутствовать в фактическом URL-адресе).

В документации API описаны дополнительные параметры, которые вы можете включить (за исключением того, что вы также можете включить параметр & callback =, как и большинство запросов JSON, для создания ответа JSONP для javascript).