#php #calendar #google-calendar-api #google-api-php-client
#php #Календарь #google-calendar-api #google-api-php-client
Вопрос:
Я использую API календаря Google с PHP. Я знаю, как создать новый календарь, но как мне установить цвет календаря, который я создал? Я искал несколько часов. Я пробовал
$calendar -> setColor();
Я пробовал
$calendar -> setColorId();
оба из которых являются неопределенными методами. Я нашел документацию о том, как изменить определения цвета. И отправил цвет события с
$event -> setColorId();
Но я нигде не могу найти ничего о том, как установить цвет календаря.
Ответ №1:
Я думаю, вы можете изменить цвет календаря, используя CalendarList: update .
Здесь указано, что CalendarList
это коллекция всех записей календаря, которые пользователь добавил в свой список (отображается на левой панели веб-интерфейса). Вы можете использовать его для добавления и удаления существующих календарей в / из списка пользователей. Вы также используете его для извлечения и установки значений пользовательских свойств календаря, таких как напоминания по умолчанию. Другим примером является цвет переднего плана, поскольку разные пользователи могут устанавливать разные цвета для одного и того же календаря.
Кроме того, API календаря теперь включает поля для пользовательских цветов для календарей. Ресурс CalendarList теперь включает backgroundColor
foregroundColor
в себя свойства и, которые заменяют colorId
. Чтобы использовать новые пользовательские цвета, установите colorRgbFormat
значение True
при выполнении обновлений.
Источник: Что нового в версии v3 — Пользовательские цвета для календарей
Ответ №2:
Основываясь на принятом @KENdi ответе, мне было трудно разобраться в синтаксисе. Для тех, кто хочет быстрого решения на PHP:
$updatedCalendarListEntry = $service->calendarList->update($calendarListEntry->getId(), $calendarListEntry, array("colorRgbFormat" => true));
Где $calendarListEntry
находится объект CalendarList, который вы можете получить с помощью метода get.
Это позволяет использовать $calendarListEntry->setBackgroundColor("$calColor);
where $calColor
— строку, содержащую шестнадцатеричный цветовой код, например. 7e7e7e.