2015-07-21 4 views
2

Я хотел бы установить конкретные цвета для событий. Я считаю, что мне нужно использовать календарь api. Я не могу понять, как это сделать.Сценарий Google Apps: настройка цвета события с использованием API календаря

код Я пытаюсь это:

вар событие = CalendarApp.getOwnedCalendarById (calendarID) .createEvent (класс, начальное время, время окончания, {описание: lessonPlanDataComplete [т], colorId: 11});

ColorId 11 должен быть установлен как красный, но все события выходят как цвет по умолчанию.

Любой помогает/намекам благодарности, Большого спасибо, Симон

+0

Вы пытались использовать 'setColor' вместо этого? Он принимает шестнадцатеричную цветовую строку. Ни в одном из методов 'createEvent' я не вижу цвет как необязательный параметр. – Andy

+0

Привет, спасибо за ваш ответ. Я попытался использовать setColor, но не могу заставить это работать. У кого-нибудь есть пример кода, который я мог бы скопировать. Большое спасибо, Саймон –

ответ

1

Это в настоящее время не представляется возможным. Вы можете использовать setColor в календаре, но не в событии. Вы можете отправить отзыв об API со страниц разработчиков об этом и надеяться, что он будет добавлен.

Между тем, я предлагаю вам создать календарь с нужным цветом и разместить там все события, так как это сделает их такими же.

4

Фактически возможно использование расширенного сервиса календаря.

(This post was helpful)

код, чтобы создать новое событие выглядит следующим образом: (вдохновленный Google's example)

function createEvent() { 
    var calendarId = 'primary'; 
    var event = { 
    summary: 'Other test', 
    location: 'right here', 
    description:' chat... ;-)', 
    start: { 
     dateTime: new Date().toISOString() 
    }, 
    end: { 
     dateTime: new Date(new Date().getTime()+3600000).toISOString() 
    }, 
    attendees: [ 
     {email: '[email protected]'} 
    ], 
    // Red background. Use Calendar.Colors.get() for the full list. 
    colorId: 11 
    }; 
    event = Calendar.Events.insert(event, calendarId); 
    Logger.log('Event ID: ' + event.getId()); 
} 

и изменить существующее событие (с его ID) выходит так:

function ChangeEventColor(){ 
    var calendarId = 'primary'; 
    var eventId = 'omv°°°°°°°°°°8jbs' 
    var event = Calendar.Events.get(calendarId, eventId) 
    Logger.log('current color = '+event.colorId) 
    event.colorId = 11 
    Calendar.Events.patch(event,calendarId,eventId); 
    Logger.log('new color = '+event.colorId) 
} 

Цветовые коды приведены с использованием (например) Google online API tryout here

Перед тем, как запустить этот код с помощью меню ressources в редакторе сценариев, необходимо активировать расширенную службу календаря Google, см. Иллюстрацию ниже.

enter image description here

2

Это всегда возможно. Попробуйте вместо этого.

в функции:

var newEvent = calendar.createEvent(event_title, event_start_time, event_end_time, 
    { 
    location: event_location, 
    guests: newGuests, 
    sendInvites: 'true', 
    description: event_description 
    } 
); 

newEvent.setColor('4'); 

См: https://developers.google.com/apps-script/reference/calendar/event-color

Строка для установки является численным строковое представление цвета событий.

Смежные вопросы