0

そのため、組織のマネージャーの 1 人のデフォルトの Google カレンダーであるエンタープライズ カレンダーを持っています。彼女はカレンダーに自分のエントリを持っていますが、もともと他のユーザーのカレンダーに入力され、この既定のカレンダーと共有またはコピーされたと思われるエントリも多数あります。Python Google Calendars API を使用して、カレンダーのすべてのイベントのリストを取得しようとしています。残念ながら、マネージャーは他のすべてのイベントを表示できますが、マネージャーによって追加されたイベントのみがリストされています。特定の日付範囲内のエントリを取得するための私のコードは次のとおりです。

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 Calendars API を使用して共有イベントを一覧表示する方法はありますか?

4

1 に答える 1

1

新しい Google Calendar API v3 とGoogle API Python Clientを使用する必要があります。古い非推奨バージョンの API に対して開発するのは無駄です。

すべてのエントリを含むカレンダーはリソース カレンダーのようです。その場合は、リソース カレンダーの所有権を持つユーザーとして認証する必要がありますが、ユーザーのプライマリ カレンダーではなく、リソース カレンダーのエントリを取得する必要があります。

events = service.events().list(calendarId='resource@email-address.com').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='resource@email-address.com', pageToken=page_token).execute()
  else:
    break
于 2012-12-27T02:00:05.100 に答える