Календарь Google Добавить событие в PHPPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Календарь Google Добавить событие в PHP

Сообщение Anonymous »

Я новичок в API Календаря Google, и мне сложно заставить программу работать. Я пытаюсь создать веб-страницу, чтобы другие пользователи могли записываться на встречи, и эта встреча будет автоматически добавлена ​​в мой личный календарь Google. Таким образом, для создания этого мероприятия не потребуется вход в систему, поскольку я пытаюсь добавить его в свой календарь Google, а не в их.
В проекте включен API календаря.
Я настроил сервисный аккаунт в Google Cloud Console для проекта и создал файл JSON.
Я использую свою личную учетную запись Gmail и поделился календарь с идентификатором сервисной учетной записи xxxxx@xxxxxx.iam.gserviceaccount.com и предоставили ему разрешение на внесение изменений и управление общим доступом.
Я получил идентификатор календаря из раздела Календарь Gmail -> Интеграция календаря. .

Код: Выделить всё

$serviceAccountFile = "pathtoserviceaccountjson";
$client = new Client();
$client->setApplicationName("Calendar Appointment");
$client->setAuthConfig($serviceAccountFile);
$client->setScopes(Calendar::CALENDAR);
$client->setAccessType('offline');
$calendarId = 'Google calendar id';

$service = new Calendar($client);

$calendarList = $service->calendarList->listCalendarList();

$event = new Calendar\Event(array(
'summary' => 'Test Event',
'description' => 'Test Event',
'start' => array(
'dateTime' => '2024-12-06T09:00:00-07:00'
),
'end' => array(
'dateTime' => '2024-12-06T10:00:00-07:00'
)
));

$client->setSubject(subjectline);
$event = $service->events->insert($calendarId, $event);
Однако каждый раз, когда я пытаюсь запустить его, я получаю эту ошибку.

Неустранимая ошибка: необнаруженный Google \Service\Exception: {
"error": "unauthorized_client",
"error_description": "Клиент не имеет права получать токены доступа с помощью этого метода, или клиент не авторизован ни для одной из запрошенных областей".
Если это сработает, может ли кто-нибудь сказать мне, что я делаю неправильно?

Спасибо.
Я получаю противоречивую информацию на разных форумах. Многие сведения оказались устаревшими. Работает ли служебный аккаунт с личными учетными записями Gmail или он будет работать только с аккаунтом Google Workspace?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ent-in-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»