Краткое руководство по Python

Создайте приложение командной строки Python, которое выполняет запросы к API Google Tasks.

Quickstarts объясняет, как настроить и запустить приложение, вызывающее API Google Workspace. В этом quickstart используется упрощенный подход к аутентификации, подходящий для среды тестирования. Для производственной среды мы рекомендуем изучить аутентификацию и авторизацию, прежде чем выбирать учетные данные для доступа , подходящие для вашего приложения.

В этом кратком руководстве используются рекомендуемые клиентские библиотеки API Google Workspace для обработки некоторых деталей процесса аутентификации и авторизации.

Цели

  • Настройте свою среду.
  • Установите клиентскую библиотеку.
  • Настройте образец.
  • Запустите образец.

Предпосылки

Для запуска этого краткого руководства вам потребуются следующие предварительные условия:

  • Учетная запись Google с включенными задачами Google.

Настройте свою среду

Чтобы завершить этот быстрый старт, настройте свою среду.

Включить API

Перед использованием API Google вам необходимо включить их в проекте Google Cloud. Вы можете включить один или несколько API в одном проекте Google Cloud.

Если вы используете новый проект Google Cloud для завершения этого быстрого старта, настройте экран согласия OAuth. Если вы уже выполнили этот шаг для своего проекта Cloud, перейдите к следующему разделу.

  1. В консоли Google Cloud перейдите в > > Брендинг .

    Перейти к брендингу

  2. Если вы уже настроили , вы можете настроить следующие параметры экрана согласия OAuth в разделе Брендинг , Аудитория и Доступ к данным . Если вы видите сообщение, в котором говорится пока не настроено , нажмите «Начать» :
    1. В разделе «Информация о приложении» в поле «Имя приложения » введите имя приложения.
    2. В поле Адрес электронной почты службы поддержки пользователей выберите адрес электронной почты службы поддержки, по которому пользователи могут связаться с вами, если у них возникнут вопросы относительно их согласия.
    3. Нажмите Далее .
    4. В разделе «Аудитория» выберите «Внутренняя» .
    5. Нажмите Далее .
    6. В разделе «Контактная информация» введите адрес электронной почты , на который вы можете получать уведомления о любых изменениях в вашем проекте.
    7. Нажмите Далее .
    8. В разделе «Готово » ознакомьтесь с Политикой использования пользовательских данных служб API Google и, если вы согласны, выберите «Я согласен с Политикой использования пользовательских данных служб API Google» .
    9. Нажмите «Продолжить» .
    10. Нажмите «Создать» .
  3. На данный момент вы можете пропустить добавление областей действия. В будущем, когда вы будете создавать приложение для использования за пределами вашей организации Google Workspace, вы должны будете изменить тип пользователя на External . Затем добавьте области действия авторизации, которые требуются вашему приложению. Чтобы узнать больше, см. полное руководство по настройке согласия OAuth .

Авторизация учетных данных для настольного приложения

Для аутентификации конечных пользователей и доступа к пользовательским данным в вашем приложении вам необходимо создать один или несколько идентификаторов клиента OAuth 2.0. Идентификатор клиента используется для идентификации одного приложения на серверах Google OAuth. Если ваше приложение работает на нескольких платформах, вам необходимо создать отдельный идентификатор клиента для каждой платформы.
  1. В консоли Google Cloud перейдите в > > Клиенты .

    Перейти к клиентам

  2. Нажмите «Создать клиента» .
  3. Нажмите Тип приложения > Настольное приложение .
  4. В поле Имя введите имя для учетных данных. Это имя отображается только в консоли Google Cloud.
  5. Нажмите «Создать» .

    Новые учетные данные появятся в разделе «Идентификаторы клиентов OAuth 2.0».

  6. Сохраните загруженный файл JSON как credentials.json и переместите его в рабочий каталог.

Установите клиентскую библиотеку Google

  • Установите клиентскую библиотеку Google для Python:

    pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
    

Настройте образец

  1. В рабочем каталоге создайте файл с именем quickstart.py .
  2. Включите следующий код в quickstart.py :

    задачи/быстрый старт/быстрый старт.py
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ["https://www.googleapis.com/auth/tasks.readonly"]
    
    
    def main():
      """Shows basic usage of the Tasks API.
      Prints the title and ID of the first 10 task lists.
      """
      creds = None
      # 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.
      if os.path.exists("token.json"):
        creds = Credentials.from_authorized_user_file("token.json", SCOPES)
      # If there are no (valid) credentials available, let the user log in.
      if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
          creds.refresh(Request())
        else:
          flow = InstalledAppFlow.from_client_secrets_file(
              "credentials.json", SCOPES
          )
          creds = flow.run_local_server(port=0)
        # Save the credentials for the next run
        with open("token.json", "w") as token:
          token.write(creds.to_json())
    
      try:
        service = build("tasks", "v1", credentials=creds)
    
        # Call the Tasks API
        results = service.tasklists().list(maxResults=10).execute()
        items = results.get("items", [])
    
        if not items:
          print("No task lists found.")
          return
    
        print("Task lists:")
        for item in items:
          print(f"{item['title']} ({item['id']})")
      except HttpError as err:
        print(err)
    
    
    if __name__ == "__main__":
      main()

Запустите образец

  1. В рабочем каталоге соберите и запустите пример:

    python3 quickstart.py
    
  1. При первом запуске образца вам будет предложено разрешить доступ:
    1. Если вы еще не вошли в свою учетную запись Google, войдите, когда вам будет предложено. Если вы вошли в несколько учетных записей, выберите одну учетную запись для использования при авторизации.
    2. Нажмите «Принять» .

    Ваше приложение Python запускается и вызывает API Google Tasks.

    Информация об авторизации хранится в файловой системе, поэтому при следующем запуске примера кода вам не будет предложено пройти авторизацию.

Следующие шаги