Доступна ли учетная запись администратора для API календаря Google? - PullRequest
0 голосов
/ 08 января 2019

Я использую этот код API Google Calendar для разработки (Вы можете найти код здесь ):

from __future__ import print_function
import datetime
from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools

# If modifying these scopes, delete the file token.json.
SCOPES = 'https://www.googleapis.com/auth/calendar.readonly'

def main():
    """Shows basic usage of the Google Calendar API.
    Prints the start and name of the next 10 events on the user's calendar.
    """
    # The file token.json stores the user's access and refresh tokens, and is
    # created automatically when the authorization flow completes for the first
    # time.
    store = file.Storage('token.json')
    creds = store.get()
    if not creds or creds.invalid:
        flow = client.flow_from_clientsecrets('./credentials.json', SCOPES)
        creds = tools.run_flow(flow, store)
    service = build('calendar', 'v3', http=creds.authorize(Http()))

    # Call the Calendar API
    now = datetime.datetime.utcnow().isoformat() + 'Z' # 'Z' indicates UTC time
    print('Getting the upcoming 10 events')
    events_result = service.events().list(calendarId='primary', timeMin=now,
                                        maxResults=10, singleEvents=True,
                                        orderBy='startTime').execute()
    events_result = service.events().list(calendarId='primary',timeMin=now,).execute()
    events = events_result.get('items', [])
    if not events:
        print('No upcoming events found.')
    for event in events:
        start = event['start'].get('dateTime', event['start'].get('date'))
        print(start, event['summary'])

if __name__ == '__main__':
    main()

Когда я использую календарь API для разработки, первый раз, когда я нажимаю кнопку разрешения страницы, консоль pycharm может вернуть вывод.

Существует ли учетная запись администратора, которая может контролировать учетные записи более 100 человек? Например, в нашей компании 100 человек, если я хочу получить данные 100 человек, нужно ли мне получать информацию об учетной записи 100 человек (учетную запись Gmail и пароль) и файлы credentials.json?

Когда я впервые запускаю код для каждого файла credentials.json, мне нужно 100 раз нажать «признать» для 100 человек, это не хорошо. Я надеюсь, что у меня есть права администратора, чтобы упростить эту операцию.

Существует ли учетная запись администратора, которая может контролировать этих 100 человек? Нужно ли загружать файлы credentials.json для 100 человек?

Какой из них я должен щелкнуть, чтобы сделать следующий шаг, как я могу получить файл json для всех?

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Вот информация администратора страница .

Использовать учетную запись администратора.

Загрузите учетные данные администратора .json.

Используйте учетную запись администратора, чтобы добавить адрес электронной почты, например, введите адрес электронной почты: enter image description here

Затем нажмите Settings and sharing, затем Вы найдете calendarId. enter image description here

Если в вашей компании 20 человек, повторите эту операцию 20 раз, а затем добавьте в список calendarId из 20 человек и зациклите его.

0 голосов
/ 08 января 2019

Да, это называется Делегация G Suite для всего домена . Прямо из связанного руководства:

В корпоративных приложениях вам может потребоваться программный доступ к данным пользователя без какой-либо ручной авторизации с его стороны. В доменах G Suite администратор домена может предоставлять сторонним приложениям доступ к данным своих пользователей по всему домену - это называется делегированием полномочий по всему домену. Чтобы делегировать полномочия таким образом, администраторы домена могут использовать учетные записи служб с OAuth 2.0.

...