Я работаю над проектом, который будет использовать делегирование домена G Suite с учетной записью службы, чтобы получить комнаты организации и их доступность с помощью Calendar API.API работает, однако с областями, требуемыми для API free / busy:
календарь
calendar.readonly
Я также могу получить всю информацию о календаре пользователя (например, список событий) с помощью учетной записи службы.По соображениям безопасности нам не разрешено получать пользовательские календари, но мы должны иметь возможность получить доступ только к наличию комнат.
Есть ли способ, которым я могу получить только статус занятости номеров, но несписок событий пользователя или любой другой вид личной информации?
Я пытался создать пользователя, который имеет доступ только к ресурсам в домене, и пытался использовать метод create_delegated для олицетворения этого пользователя, он не работаети до сих пор можно получить доступ к календарям.
SCOPES = ['https://www.googleapis.com/auth/calendar.readonly']
SERVICE_ACCOUNT_FILE = 'accountfile'
creds = ServiceAccountCredentials.from_json_keyfile_name(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
creds = creds.create_delegated("some user account")
service = build('calendar', 'v3', credentials=creds)
results = service.freebusy().query(body=body).execute()
results = service.events().list(calendarId=calendarId, timeZone=timezone, timeMin=timeMin, timeMax=timeMax, singleEvents=True).execute()