2012-12-27 3 views
0

조직의 관리자 중 하나의 기본 Google 캘린더 인 엔터프라이즈 캘린더가 있습니다. 그녀는 캘린더에 자신의 항목이 있지만 다른 사용자의 캘린더에 원래 입력되어이 기본 캘린더와 공유되거나 복사 된 것처럼 보이는 많은 항목이 있습니다. Python Google 캘린더 API를 사용하여 캘린더의 모든 이벤트 목록을 가져 오려고합니다. 불행히도 관리자가 다른 모든 이벤트를 볼 수는 있지만 관리자가 추가 한 이벤트 만 나열합니다. 다음은 특정 날짜 범위 내의 항목을 검색하는 코드입니다.다중 사용자 Google 캘린더에서 모든 항목 가져 오기

def dateRangeQuery(calendar_service, startDate, endDate): 
    query = gdata.calendar.service.CalendarEventQuery('default', 'private', 'full') 
    query.start_min = startDate 
    query.start_max = endDate 
    feed = calendar_service.CalendarQuery(query) 
    for entry in feed.entry: 
     print entry.title.text 

로그인 정보없이 다른 사용자의 항목을 검색 할 수있는 방법이 있습니까?

죄송합니다. Google 캘린더 자체에 익숙하지 않습니다. 추가 조사에서 나는 어떤 일이 일어나고 있는지 확실히 알 수 있습니다. 다른 사용자가 캘린더를 유지하고 관리자와 일정을 공유하고 있다는 것입니다. 그래서 제 질문은 다음과 같습니다. Google 캘린더 API를 사용하여 공유 된 이벤트를 나열하는 방법이 있습니까?

답변

1

새로운 Google 캘린더 API v3 및 Google API Python Client을 사용해야합니다. 더 이상 사용되지 않는 API 버전을 사용하지 마십시오.

캘린더처럼 들리지만 모든 항목이있는 캘린더는 리소스 캘린더입니다. 그런 경우가 있다면, 당신은 자원 달력에 소유권이있는 사용자로 인증해야하지만 자원 달력에 대한 항목을 검색해야 아닌 사용자의 기본 달력 다음에 헤드 업에 대한

events = service.events().list(calendarId='[email protected]').execute() 

while True: 
    for event in events.get('items', []): 
    print event['summary'] 
    page_token = events.get('nextPageToken') 
    if page_token: 
    events = service.events().list(calendarId='[email protected]', pageToken=page_token).execute() 
    else: 
    break 
+0

안녕하세요, 감사합니다 더 이상 사용되지 않는 버전. 그러나, 나는 함께 일하는 것이 자원 달력이라고 생각하지 않는다. 관리자의 기본 달력입니다. 그녀는 캘린더에 대한 액세스 권한하에 직원을 제공하고 기본 캘린더와 일정을 공유 할 수 있습니다. 그것들은 제가 접근하고자하는 사건들입니다. – user1427661

+0

실제로 캘린더에있는 경우 다른 캘린더와 공유하지 않으면 list() API 호출과 함께 표시됩니다. –

+0

글쎄, 그녀의 캘린더에 표시되지만 캘린더에 항목을 복사 할 수 있으므로 캘린더에 표시되는 특정 항목을 공유하기 만하면됩니다 (항목이 단색이고 캘린더의 항목이 반투명 함). 대각선 백그라운드에서). API를 캘린더에 복사하는 것 이외의 항목을 나열 할 수있는 방법이 있습니까? 복사가 유일한 방법 일 경우 복사 프로세스를 자동화하는 쉬운 방법이 있습니까? – user1427661

관련 문제