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

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

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

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

Цели

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

Предпосылки

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

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

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

Включить 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 необходимо изменить тип пользователя на «Внешний» . Затем добавьте области действия авторизации, необходимые вашему приложению. Подробнее см. в полном руководстве по настройке согласия OAuth .

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

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

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

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

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

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

Настройте приложение Google Chat

Для вызова API Google Chat необходимо настроить приложение Google Chat. Для всех запросов на запись Google Chat атрибутирует приложение Google Chat в пользовательском интерфейсе, используя следующую информацию.

  1. В консоли Google Cloud перейдите на страницу конфигурации API чата:

    Перейти на страницу конфигурации API чата

  2. В разделе «Информация о приложении» введите следующую информацию:

    1. В поле Имя приложения введите Chat API quickstart app .
    2. В поле URL аватара введите https://developers.google.com/chat/images/quickstart-app-avatar.png .
    3. В поле Описание введите Quickstart for calling the Chat API .
  3. В разделе «Интерактивные функции» переведите переключатель «Включить интерактивные функции» в положение «Выкл.», чтобы отключить интерактивные функции для приложения «Чат».

  4. Нажмите «Сохранить» .

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

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

    pip install --upgrade google-apps-chat google-auth-httplib2 google-auth-oauthlib 

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

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

    chat/quickstart/quickstart.py
    from __future__ import print_function  import os.path  from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from google.apps import chat_v1 as google_chat   # If modifying these scopes, delete the file token.json. SCOPES = ['https://www.googleapis.com/auth/chat.spaces.readonly']   def main():     """Shows basic usage of the Google Chat API.     """     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:         # Create a client         client = google_chat.ChatServiceClient(             credentials = creds,             client_options = {                 "scopes" : SCOPES             }         )          # Initialize request argument(s)         request = google_chat.ListSpacesRequest(             # Filter spaces by space type (SPACE or GROUP_CHAT or DIRECT_MESSAGE)             filter = 'space_type = "SPACE"'         )          # Make the request         page_result = client.list_spaces(request)          # Handle the response. Iterating over page_result will yield results and         # resolve additional pages automatically.         for response in page_result:             print(response)     except Exception as error:         # TODO(developer) - Handle errors from Chat API.         print(f'An error occurred: {error}')   if __name__ == '__main__':     main()

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

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

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

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

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

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