[Что я хочу реализовать]
- У меня есть Пользователь A, Пользователь B и Пользователь C.
- Пользователь B и Пользователь C являются фактическим пользователем и Пользователь A должен просто следить за событиями пользователя B и пользователя C.
- Я хочу получить все события пользователя B и календаря Google пользователя C от пользователя A через API Календаря Google, используя API Календаря Google. PHP / Laravel.
[Что я пробовал]
Настройка Календаря Google
- Пользователь B и Пользователь C разрешить Пользователю А подписывать свой Календарь Google.
- Я разрешаю Пользователю Б и Пользователю C Пользователь А подписаться на Пользователя Б и Календаря Google пользователя C.
- Теперь Пользователь Б и События пользователя C отображаются в календаре Google пользователя A.
Настройка API Календаря Google
- Я включил API Календаря Google с Информация об учетных данных пользователя А и загруженный файл json с учетными данными из https://console.cloud.google.com/.
- Я передал весь контроль доступа пользователь API в Календаре Google.
- Я поместил файл json в хранилище.
Программа
$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 с конфиденциальностью календаря как конфиденциальной?
Мы ценим любые советы.