Guia de início rápido do Python

Nos guias de início rápido, explicamos 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 lidar com alguns detalhes do fluxo de autenticação e autorização. Recomendamos que você use as bibliotecas de cliente nos seus próprios apps. Neste guia de início rápido, usamos uma abordagem de autenticação simplificada, apropriada para um ambiente de teste. Para um ambiente de produção, é recomendável aprender sobre autenticação e autorização antes de escolher as credenciais de acesso adequadas para seu app.

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

Objetivos

  • Configurar 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

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

    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 permissão OAuth e adicione-se como um usuário de teste. Se você já concluiu esta etapa no 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 permissão OAuth.

    Acessar a tela de permissão OAuth

  2. Selecione o tipo de usuário para seu app e clique em Criar.
  3. Preencha o formulário de registro do app e clique em Salvar e continuar.
  4. Por enquanto, pule a adição de escopos e clique em Salvar e continuar. No futuro, quando você criar um app para uso fora da organização do Google Workspace, será necessário adicionar e verificar os escopos de autorização exigidos pelo app.

  5. Se você selecionou Externo como tipo de usuário, adicione usuários de teste:
    1. Em Usuários de teste, clique em Adicionar usuários.
    2. Insira seu endereço de e-mail e outros usuários de teste autorizados. Em seguida, clique em Salvar e continuar.
  6. Leia o resumo do registro do seu app. Para fazer mudanças, clique em Editar. Se o registro do app estiver certo, clique em Voltar para o painel.

Autorizar credenciais de um aplicativo para computador

Para fazer a autenticação como usuário final e acessar os 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. Caso seu app seja executado em várias plataformas, crie um ID do cliente separado para cada uma delas.
  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ó é mostrado no console do Google Cloud.
  5. Clique em Criar. A tela do cliente OAuth criado é exibida, mostrando o novo ID do cliente e a chave secreta do cliente.
  6. Clique em OK. A credencial recém-criada aparece em IDs do cliente OAuth 2.0.
  7. Salve o arquivo JSON salvo 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 o exemplo

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

    formulários/quickstart/quickstart.py
    from __future__ import print_function
    
    from apiclient import discovery
    from httplib2 import Http
    from oauth2client import client, file, tools
    
    SCOPES = "https://www.googleapis.com/auth/forms.body"
    DISCOVERY_DOC = "https://forms.googleapis.com/$discovery/rest?version=v1"
    
    store = file.Storage('token.json')
    creds = None
    if not creds or creds.invalid:
        flow = client.flow_from_clientsecrets('client_secrets.json', SCOPES)
        creds = tools.run_flow(flow, store)
    
    form_service = discovery.build('forms', 'v1', http=creds.authorize(
        Http()), discoveryServiceUrl=DISCOVERY_DOC, static_discovery=False)
    
    # Request body for creating a form
    NEW_FORM = {
        "info": {
            "title": "Quickstart form",
        }
    }
    
    # Request body to add a multiple-choice question
    NEW_QUESTION = {
        "requests": [{
            "createItem": {
                "item": {
                    "title": "In what year did the United States land a mission on the moon?",
                    "questionItem": {
                        "question": {
                            "required": True,
                            "choiceQuestion": {
                                "type": "RADIO",
                                "options": [
                                    {"value": "1965"},
                                    {"value": "1967"},
                                    {"value": "1969"},
                                    {"value": "1971"}
                                ],
                                "shuffle": True
                            }
                        }
                    },
                },
                "location": {
                    "index": 0
                }
            }
        }]
    }
    
    # Creates the initial form
    result = form_service.forms().create(body=NEW_FORM).execute()
    
    # Adds the question to the form
    question_setting = form_service.forms().batchUpdate(formId=result["formId"], body=NEW_QUESTION).execute()
    
    # Prints the result to show the question has been added
    get_result = form_service.forms().get(formId=result["formId"]).execute()
    print(get_result)
    

Executar a amostra

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

    python3 quickstart.py
    
  2. Na primeira execução do exemplo, ele solicita que você autorize o acesso:

    1. Se ainda não tiver feito login na sua Conta do Google, você será solicitado. Se você tiver feito login em várias contas, selecione uma delas para usar na autorização.
    2. Clique em Aceitar.

    Como as informações de autorização são armazenadas no sistema de arquivos, a autorização não será solicitada na próxima vez que você executar o exemplo de código.

Você criou seu primeiro aplicativo em Python que faz solicitações para a API Google Forms.

Próximas etapas