Guia de início rápido do Node.js

Crie um aplicativo de linha de comando do Node.js que faça solicitações à API Google Drive.

Os guias de início rápido explicam como configurar e executar um app que chama uma API do Google Workspace. Este guia usa uma abordagem de autenticação simplificada adequada para um ambiente de teste. Para um ambiente de produção, recomendamos aprender sobre autenticação e autorização antes de escolher as credenciais de acesso adequadas para seu 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.

Prepare 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 na nuvem 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 Drive.

    Ativar a API

Se você estiver usando um novo projeto na nuvem do Google Cloud para concluir este guia de início rápido, configure a tela de permissão OAuth. Se você já concluiu essa etapa para o projeto na nuvem, pule para a próxima seção.

  1. No Console de APIs do Google, acesse Menu > Plataforma de autenticação do Google > Branding.

    Acessar o branding

  2. Se você já configurou a plataforma de autenticação do Google, pode configurar as seguintes configurações da tela de permissão OAuth em Branding, Público e Acesso a dados. Se você vir uma mensagem informando que a plataforma de autenticação do Google ainda não está configurada, clique em Começar:
    1. Em Informações do app, no campo 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 possam entrar 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 Informações de contato, insira um endereço de e-mail para receber notificações sobre mudanças no projeto.
    7. Clique em Próxima.
    8. Em Concluir, revise 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, ao criar um app para uso fora da sua organização do Google Workspace, você precisará 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 tela de permissão OAuth guide.

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, você precisará criar um ID do cliente separado para cada plataforma.
  1. No Console de APIs do Google, acesse Menu > Plataforma de autenticação do Google > Clientes.

    Acessar 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 só é mostrado no Console de APIs do Google.
  5. Clique em Criar.

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

  6. Salve o arquivo JSON transferido por download como credentials.json e mova o arquivo para o diretório de trabalho.

Instale a biblioteca de cliente

  • Instale as bibliotecas usando o npm:

    npm install googleapis@105 @google-cloud/local-auth@2.1.0 --save
    

Configure a amostra

  1. No diretório de trabalho, crie um arquivo chamado index.js.

  2. No arquivo, cole o seguinte código:

    drive/quickstart/index.js
    import path from 'node:path';
    import process from 'node:process';
    import {authenticate} from '@google-cloud/local-auth';
    import {google} from 'googleapis';
    
    // The scope for reading file metadata.
    const SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly'];
    // The path to the credentials file.
    const CREDENTIALS_PATH = path.join(process.cwd(), 'credentials.json');
    
    /**
     * Lists the names and IDs of up to 10 files.
     */
    async function listFiles() {
      // Authenticate with Google and get an authorized client.
      const auth = await authenticate({
        scopes: SCOPES,
        keyfilePath: CREDENTIALS_PATH,
      });
    
      // Create a new Drive API client.
      const drive = google.drive({version: 'v3', auth});
      // Get the list of files.
      const result = await drive.files.list({
        pageSize: 10,
        fields: 'nextPageToken, files(id, name)',
      });
      const files = result.data.files;
      if (!files || files.length === 0) {
        console.log('No files found.');
        return;
      }
    
      console.log('Files:');
      // Print the name and ID of each file.
      files.forEach((file) => {
        console.log(`${file.name} (${file.id})`);
      });
    }
    
    await listFiles();

Executar a amostra

  1. No diretório de trabalho, execute a amostra:

    node .
    
  1. Na primeira vez que você executar a amostra, será solicitado que você autorize o acesso:
    1. Se você ainda não tiver feito login na sua Conta do Google, faça login quando solicitado. Se você tiver feito login em várias contas, selecione uma conta para usar na autorização.
    2. Clique em Aceitar.

    O aplicativo Nodejs é executado e chama a API Google Drive.

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

Próximas etapas