2011-05-11 4 views
1

Google 캘린더와 같은 소스를 기반으로 이벤트의 색상을 설정할 수 있다는 것을 알고 있지만 Google 캘린더 자체에 설정된대로 색상을 자동으로 검색 할 수있는 방법이 있는지 궁금합니다.Fullcalendar jQuery - Google 캘린더에서 색상을 검색 할 수 있습니까?

gcal.js를 살펴보면 색상과 관련하여 푸시 된 것이없는 것 같지만 Google json api (json-c)에서는 색상에 대한 참조가 있습니다.

http://code.google.com/apis/calendar/data/2.0/developers_guide_protocol.html#RetrievingAllCalendars

가 나는 Fullcalendar에 기능 요청의 문제이다 생각하지만 난 거기에 이미 뭔가를 놓치고 경우 궁금하네요?

감사합니다.

답변

1

캘린더의 색상이 XML, ICAL 피드에 없습니다. 사용자가 사용할 수있는 캘린더 목록에만 표시됩니다. 그것은 달력을 나열하고 사용 GCal 네임 스페이스 요소가

Google 캘린더는 메타 피드합니다 ( 사용자의 달력을 표시 한 피드)에 사용 여러 확장 요소를 제공 참조. 그들은 그래서 불행하게도

달력 특정 이기 때문에 이러한 요소가 아닌 구글 데이터 네임 스페이스 gCal 네임 스페이스에 있으며, gcal.js 목록을 받고 지원하지 않습니다 그리고 당신은 색상하지 않는 한을받지 않습니다 다른 플러그인을 사용합니다.


그런 경우에는 그렇게 쉬울 것입니다. 이전

<gCal:color value='#2952A3' />   
0

- (안 달력 일정 목록) : - 푸시는 gcal.js에서 난 당신이

color: entry['gCal$color']['value'], 

구글 소스 공급의 라인에 뭔가를 추가 할 수 있습니다 생각이 값을 포함 fullcalendar jQuery - Possible to retrieve description from Google Calendar events?에서 gcal/fullcalendar 질문에 답변했습니다. gcal.js의 출처를 수정해야합니다. 당신은 (당신은 색상과 다른 모든 것들에 액세스 할 수 있도록) 그냥 이벤트 떨어져 Google 캘린더 객체를 중지 할 수 있습니다 :

events.push({ 
         id: entry['gCal$uid']['value'], 
         title: entry['title']['$t'], 
         url: url, 
         start: start, 
         end: end, 
         allDay: allDay, 
         location: entry['gd$where'][0]['valueString'], 
         description: entry['content']['$t'], 
         entry: entry 
        }); 
+0

어디에/어떻게 색상을 얻을 수 있습니까? 어떤 라인들이 그런가? – ppumkin

+1

대답이 잘못되었습니다 – ppumkin

+0

음, 색상은 * allcalendars * 피드에만 포함되어 있습니다 (http://code.google.com/apis/calendar/data/2.0/developers_guide_protocol.html#ManagingSubscriptions 참조). 포함 된 각 캘린더의 색상을 가져 오려면 구문을 가져 와서 구문 분석해야합니다. * 항목 *을 사용하여 이벤트가 발생하는 캘린더를 알아 내야합니다. 용도. 내 대답은 잘못이 아니야, 단지 당신이 실제로 그 일을해야한다는 것이다. – Femi

0

은 내가 그랬어 https://developers.google.com/google-apps/calendar/v3/reference/colors/get#examples 그 그러나 JavaScipt있다. 그것은 나를 위해 일합니다.

function getColors() { 
 
     
 
     gapi 
 
      .client 
 
      .load('calendar', 'v3') 
 
      .then(function() { 
 
       request = gapi.client.calendar.colors.get({ 
 
        'calendarId': calendarId -> "Your CalendarID" 
 

 
       }); 
 

 
       request.then(function (resp) { 
 

 
        if (resp.result.error) { 
 
        reportError('Google Calendar Colors: ' + data.error.message, data.error.errors); 
 

 
        } else if (resp) { 
 

 
        console.log('--- resp ---'); 
 
        console.log(resp.result); 
 

 
        } 
 
       }, function (reason) { 
 
        console.log('Error: ' + reason.result.error.message); 
 

 
       }); 
 
      }); 
 
     }

관련 문제