Guia de início rápido do Python

Crie um aplicativo de linha de comando Python que faça solicitações à API Google Apps Script.

Os tutoriais rápidos explicam como configurar e executar um app que chama uma API do Google Workspace. 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.

Este guia de início rápido usa as bibliotecas de cliente de API recomendadas do Google Workspace para processar alguns detalhes do fluxo de autenticação e autorização.

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 Drive 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 Apps Script.

    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. 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 > > Marca.

    Acessar "Branding"

  2. Se você já tiver configurado o , poderá configurar as seguintes configurações da tela de consentimento do OAuth em Marca, Público-alvo e Acesso a dados. Se você receber a mensagem ainda não configurado, clique em Começar:
    1. Em Informações do app, em Nome do app, insira um nome para o app.
    2. Em E-mail para suporte do usuário, escolha um endereço de e-mail de suporte para que os usuários entrem em contato com você se tiverem dúvidas sobre o consentimento.
    3. Clique em Próxima.
    4. Em Público, selecione Interno.
    5. Clique em Próxima.
    6. Em Dados de contato, insira um endereço de e-mail para receber notificações sobre as mudanças no projeto.
    7. Clique em Próxima.
    8. Em Concluir, analise a Política de dados do usuário dos serviços de API do Google e, se concordar, selecione Concordo com a política de dados do usuário dos serviços de API do Google.
    9. Clique em Continuar.
    10. Clique em Criar.
  3. Por enquanto, você pode pular a adição de escopos. No futuro, quando você criar um app para uso fora da sua organização do Google Workspace, será necessário mudar o Tipo de usuário para Externo. Em seguida, adicione os escopos de autorização necessários para o app. Para saber mais, consulte o guia completo Configurar a permissão OAuth.

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 > > Clientes.

    Acesse "Clientes"

  2. Clique em Criar cliente.
  3. Clique em Tipo de aplicativo > App para computador.
  4. No campo Nome, digite um nome para a credencial. Esse nome é mostrado apenas no console do Google Cloud.
  5. Clique em Criar.

    A credencial recém-criada aparece em "IDs de cliente OAuth 2.0".

  6. 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:

    apps_script/quickstart/quickstart.py
    """
    Shows basic usage of the Apps Script API.
    Call the Apps Script API to create a new script project, upload a file to the
    project, and log the script's URL to the user.
    """
    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 import errors
    from googleapiclient.discovery import build
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ["https://www.googleapis.com/auth/script.projects"]
    
    SAMPLE_CODE = """
    function helloWorld() {
      console.log("Hello, world!");
    }
    """.strip()
    
    SAMPLE_MANIFEST = """
    {
      "timeZone": "America/New_York",
      "exceptionLogging": "CLOUD"
    }
    """.strip()
    
    
    def main():
      """Calls the Apps Script 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:
        service = build("script", "v1", credentials=creds)
    
        # Call the Apps Script API
        # Create a new project
        request = {"title": "My Script"}
        response = service.projects().create(body=request).execute()
    
        # Upload two files to the project
        request = {
            "files": [
                {"name": "hello", "type": "SERVER_JS", "source": SAMPLE_CODE},
                {
                    "name": "appsscript",
                    "type": "JSON",
                    "source": SAMPLE_MANIFEST,
                },
            ]
        }
        response = (
            service.projects()
            .updateContent(body=request, scriptId=response["scriptId"])
            .execute()
        )
        print("https://script.google.com/d/" + response["scriptId"] + "/edit")
      except errors.HttpError as error:
        # The API encountered a problem.
        print(error.content)
    
    
    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 Apps Script.

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

Próximas etapas