вставить событие в другие календари, кроме моего основного — ошибка 404 не найдена

Мне нужно вставить события в несколько календарей, которые не принадлежат мне (другим пользователям).
это не должно быть в одной команде …

Чтобы проверить API календаря Google, я использовал «insert» для добавления новых событий в свой календарь, и он работал нормально:

    // Create service from client
require_once "google-api-php-client-master/src/Google/Client.php";
require_once "google-api-php-client-master/src/Google/Service.php";

$client = new Google_Client();
$client->addScope("https://www.googleapis.com/auth/calendar");
$client->setAccessToken(htmlspecialchars_decode(get_access_token()));

$event = new Google_Service_Calendar_Event();
$event->setSummary($bean->name);
$event->setLocation($bean->location);
$event->setDescription($bean->description);
...
...

$service = new Google_Service_Calendar($client);
$createdEvent = $service->events->insert($user->google_cal_id_c, $event);

Проблема в том, что когда я оперирую «вставить» с моим идентификатором календаря коллеги (который я взял из его настроек календаря) в качестве параметра и пытаюсь вставить событие в его календарь,
я получаю «404 не найдено» Ошибка.

ОБНОВИТЬ:

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

0

Решение

Самый простой способ — получить токены доступа каждого из ваших коллег и использовать их для аутентификации. Однако есть два основных способа вставить события в календари людей, когда вы не хотите запрашивать каждый из их токенов доступа по отдельности:

  1. Вы можете добавить их в качестве участников на ваше мероприятие, которое затем отправит им электронное письмо и добавит его в свои календари.
  2. Если вы находитесь в одном домене и пишете приложение для этого домена, вы можете создать учетную запись службы (https://developers.google.com/accounts/docs/OAuth2ServiceAccount) и затем используйте делегирование полномочий на уровне домена: https://developers.google.com/drive/web/delegation (да, ссылка для API диска, но аутентификация между диском и календарем работает одинаково, поэтому просто замените биты диска календарем)
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]