mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-03 20:31:35 +00:00
Avoid requests to impersonate a resource calendar (#1122)
* Avoid requests to impersonate a resource calendar Fixes jay0lee/GAM#1120 * Also avoid impersonating Group calendars
This commit is contained in:
@@ -30,14 +30,18 @@ def buildCalendarGAPIObject(calname):
|
|||||||
|
|
||||||
def buildCalendarDataGAPIObject(calname):
|
def buildCalendarDataGAPIObject(calname):
|
||||||
calendarId = normalizeCalendarId(calname)
|
calendarId = normalizeCalendarId(calname)
|
||||||
# Force service account token request. If we fail fall back to using
|
|
||||||
# admin for authentication
|
# Try to impersonate the calendar owner. If we fail, fall back to using
|
||||||
|
# admin for authentication. Resource calendars cannot be impersonated,
|
||||||
|
# so we need to access them as the admin.
|
||||||
|
cal = None
|
||||||
|
if (not calname.endswith('@resource.calendar.google.com') and
|
||||||
|
not calname.endswith('@group.calendar.google.com')):
|
||||||
cal = __main__.buildGAPIServiceObject('calendar', calendarId, False)
|
cal = __main__.buildGAPIServiceObject('calendar', calendarId, False)
|
||||||
if cal is None:
|
if cal is None:
|
||||||
_, cal = buildCalendarGAPIObject(__main__._getValueFromOAuth('email'))
|
_, cal = buildCalendarGAPIObject(__main__._getValueFromOAuth('email'))
|
||||||
return (calendarId, cal)
|
return (calendarId, cal)
|
||||||
|
|
||||||
|
|
||||||
def printShowACLs(csvFormat):
|
def printShowACLs(csvFormat):
|
||||||
calendarId, cal = buildCalendarDataGAPIObject(sys.argv[2])
|
calendarId, cal = buildCalendarDataGAPIObject(sys.argv[2])
|
||||||
if not cal:
|
if not cal:
|
||||||
|
|||||||
Reference in New Issue
Block a user