Как получить список событий, включая подписные календари, из Календаря Google через API - PullRequest
0 голосов
/ 01 марта 2020

[Что я хочу реализовать]

  • У меня есть Пользователь A, Пользователь B и Пользователь C.
  • Пользователь B и Пользователь C являются фактическим пользователем и Пользователь A должен просто следить за событиями пользователя B и пользователя C.
  • Я хочу получить все события пользователя B и календаря Google пользователя C от пользователя A через API Календаря Google, используя API Календаря Google. PHP / Laravel.

[Что я пробовал]

  1. Настройка Календаря Google

    • Пользователь B и Пользователь C разрешить Пользователю А подписывать свой Календарь Google.
    • Я разрешаю Пользователю Б и Пользователю C Пользователь А подписаться на Пользователя Б и Календаря Google пользователя C.
    • Теперь Пользователь Б и События пользователя C отображаются в календаре Google пользователя A.
  2. Настройка API Календаря Google

    • Я включил API Календаря Google с Информация об учетных данных пользователя А и загруженный файл json с учетными данными из https://console.cloud.google.com/.
    • Я передал весь контроль доступа пользователь API в Календаре Google.
    • Я поместил файл json в хранилище.
  3. Программа

$start = new Carbon($date);
$end   = new Carbon($date);
$end->addDay();
$events = Event::get($start, $end, []);
  • Программа может успешно извлекать события пользователя A, но нет событий пользователя B и пользователя C ' s.
  • При запуске программы сообщения об ошибках не появлялось.

  • Эксперимент
  • Имея информацию об учетных данных пользователя A в Интернете, я подтвердил, что пользователь A, пользователь B и пользовательский календарь C отображаются как calendarList в результате https://developers.google.com/calendar/v3/reference/calendarList/list.
  • С помощью программы я пытался получить calendarList, но результат был пустым.
  • Я имел в виду результат вызова API в Интернете и программа отличалась.

  • Я изменил настройку конфиденциальности пользователя A с приватной на publi c и запустил программу, но то же самое, но изменений не наблюдалось.

  • Затем я также изменил настройку конфиденциальности пользователя B с конфиденциальности на publi c и запустил программу, но изменений также не наблюдалось.
  • Затем я также изменил программу, указав идентификатор календаря следующим образом Я мог получить события.
$start = new Carbon($date);
$end   = new Carbon($date);
$end->addDay();
$events = Event::get($start, $end, [], $calendar_id);
  • Затем я также изменил настройку конфиденциальности пользователя B на частную, я обнаружил ошибку 404. Конечно, я не хочу, чтобы календарь публиковал c.

[Вопрос]

  • Могу ли я получить события пользователя B и пользователя C от пользователя А Google Calendar API? Если да, то как?
  • Можно ли получить CalendarList с пользователем B и идентификатором календаря пользователя C? Если да, то как?
  • Могу ли я передать идентификатор календаря при вызове events.list и могу ли я получить события пользователя B и пользователя C?
  • Как передать учетные данные Пользователь А, чтобы получить пользователь Б и календарь пользователя C с конфиденциальностью календаря как конфиденциальной?

Мы ценим любые советы.

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