Guia de início rápido do Python

Os tutoriais rápidos explicam como configurar e executar um app que chama uma API do Google Workspace.

Os guias de início rápido do Google Workspace usam as bibliotecas de cliente da API para processar alguns detalhes do fluxo de autenticação e autorização. Recomendamos que você use as bibliotecas de cliente para seus próprios apps. Este guia de início rápido usa uma abordagem de autenticação simplificada que é adequada para um ambiente de teste. Para um ambiente de produção, recomendamos que você aprenda sobre autenticação e autorização antes de escolher as credenciais de acesso adequadas para o app.

Crie um aplicativo de linha de comando Python que faça solicitações para a API Google Agenda.

Objetivos

  • Prepare o ambiente.
  • Instale a biblioteca de cliente.
  • Configure a amostra.
  • Execute a amostra.

Pré-requisitos

Para executar este guia de início rápido, você precisa dos seguintes pré-requisitos:

  • Uma Conta do Google com o Google Agenda ativado.

Configurar o ambiente

Para concluir este guia de início rápido, configure seu ambiente.

Ativar a API

Antes de usar as APIs do Google, você precisa ativá-las em um projeto do Google Cloud. É possível ativar uma ou mais APIs em um único projeto do Google Cloud.
  • No console do Google Cloud, ative a API Google Calendar.

    Ativar a API

Se você estiver usando um novo projeto do Google Cloud para concluir este guia de início rápido, configure a tela de consentimento do OAuth e adicione a si mesmo como um usuário de teste. Se você já concluiu esta etapa para seu projeto do Cloud, pule para a próxima seção.

  1. No console do Google Cloud, acesse Menu > APIs e serviços > Tela de consentimento do OAuth.

    Acessar a tela de permissão OAuth

  2. Em Tipo de usuário, selecione Interno e clique em Criar.
  3. Preencha o formulário de registro do app e clique em Salvar e continuar.
  4. Por enquanto, você pode pular a adição de escopos e clicar em Salvar e continuar. No futuro, ao criar um app para uso fora da sua organização do Google Workspace, você precisará mudar o Tipo de usuário para Externo e, em seguida, adicionar os escopos de autorização necessários para o app.

  5. Analise o resumo do registro do app. Para fazer alterações, clique em Editar. Se o registro do app estiver correto, clique em Voltar ao painel.

Autorizar credenciais para um aplicativo para computador

Para autenticar usuários finais e acessar dados do usuário no app, crie um ou mais IDs do cliente OAuth 2.0. Um ID do cliente é usado para identificar um único app nos servidores OAuth do Google. Se o app for executado em várias plataformas, crie um ID do cliente separado para cada plataforma.
  1. No console do Google Cloud, acesse Menu > APIs e serviços > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais > ID do cliente OAuth.
  3. Clique em Tipo de aplicativo > App para computador.
  4. No campo Nome, digite um nome para a credencial. Esse nome só aparece no console do Google Cloud.
  5. Clique em Criar. A tela do cliente OAuth criado aparece, mostrando o novo ID e a chave secreta do cliente.
  6. Clique em OK. A credencial recém-criada aparece em IDs de cliente OAuth 2.0.
  7. Salve o arquivo JSON baixado como credentials.json e mova-o para o diretório de trabalho.

Instalar a biblioteca de cliente do Google

  • Instale a biblioteca de cliente do Google para Python:

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

Configurar a amostra

  1. No diretório de trabalho, crie um arquivo chamado quickstart.py.
  2. Inclua o seguinte código em quickstart.py:

    calendar/quickstart/quickstart.py
    import datetime
    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/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.
      """
      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("calendar", "v3", credentials=creds)
    
        # 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 = events_result.get("items", [])
    
        if not events:
          print("No upcoming events found.")
          return
    
        # Prints the start and name of the next 10 events
        for event in events:
          start = event["start"].get("dateTime", event["start"].get("date"))
          print(start, event["summary"])
    
      except HttpError as error:
        print(f"An error occurred: {error}")
    
    
    if __name__ == "__main__":
      main()

Executar a amostra

  1. No diretório de trabalho, crie e execute o exemplo:

    python3 quickstart.py
    
  1. Na primeira vez que você executar o exemplo, será necessário autorizar o acesso:
    1. Faça login na sua Conta do Google, caso ainda não tenha feito. Se você tiver feito login em várias contas, selecione uma para usar na autorização.
    2. Clique em Aceitar.

    O aplicativo Python é executado e chama a API Google Calendar.

    As informações de autorização são armazenadas no sistema de arquivos. Por isso, na próxima vez que você executar o código de exemplo, não será necessário fazer a autorização.

Próximas etapas