Ограничение доступа к API календаря с помощью учетной записи службы делегирования G-Suite, доступ только к API freebusy - PullRequest
0 голосов
/ 30 мая 2019

Я работаю над проектом, который будет использовать делегирование домена 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...