Panduan memulai Node.js

Buat aplikasi command line Node.js yang membuat permintaan ke Google Drive API.

Panduan memulai menjelaskan cara menyiapkan dan menjalankan aplikasi yang memanggil Google Workspace API. Panduan memulai ini menggunakan pendekatan autentikasi yang disederhanakan dan sesuai untuk lingkungan pengujian. Untuk lingkungan produksi, sebaiknya pelajari autentikasi dan otorisasi sebelum memilih kredensial akses yang sesuai untuk aplikasi Anda.

Panduan memulai ini menggunakan library klien API yang direkomendasikan Google Workspace untuk menangani beberapa detail alur autentikasi dan otorisasi.

Tujuan

  • Menyiapkan lingkungan Anda.
  • Menginstal library klien.
  • Menyiapkan contoh.
  • Menjalankan contoh.

Prasyarat

Untuk menjalankan panduan memulai ini, Anda memerlukan prasyarat berikut:

  • Akun Google dengan Google Drive diaktifkan.

Menyiapkan lingkungan Anda

Untuk menyelesaikan panduan memulai ini, siapkan lingkungan Anda.

Mengaktifkan API

Sebelum menggunakan Google API, Anda harus mengaktifkannya di project Google Cloud. Anda dapat mengaktifkan satu atau beberapa API dalam satu project Google Cloud.

Jika Anda menggunakan project Google Cloud baru untuk menyelesaikan panduan memulai ini, konfigurasikan layar izin OAuth. Jika Anda telah menyelesaikan langkah ini untuk project Cloud Anda, lewati ke bagian berikutnya.

  1. Di Konsol Google API, buka Menu > Platform Google Auth > Branding.

    Buka Branding

  2. Jika telah mengonfigurasi platform Google Auth, Anda dapat mengonfigurasi setelan Layar Izin OAuth berikut di Branding, Audiens, dan Akses Data. Jika Anda melihat pesan yang menyatakan Google Auth platform not configured yet, klik Get Started:
    1. Di bagian App Information, di App name, masukkan nama untuk aplikasi.
    2. Di User support email, pilih alamat email dukungan tempat pengguna dapat menghubungi Anda jika mereka memiliki pertanyaan tentang izin mereka.
    3. Klik Next.
    4. Di bagian Audience, pilih Internal.
    5. Klik Next.
    6. Di bagian Contact Information, masukkan Email address tempat Anda dapat menerima notifikasi tentang perubahan apa pun pada project Anda.
    7. Klik Next.
    8. Di bagian Finish, tinjau Kebijakan Data Pengguna Layanan Google API dan jika Anda setuju, pilih I agree to the Google API Services: User Data Policy.
    9. Klik Continue.
    10. Klik Create.
  3. Untuk saat ini, Anda dapat melewati penambahan cakupan. Pada masa mendatang, saat membuat aplikasi untuk digunakan di luar organisasi Google Workspace Anda, Anda harus mengubah User type menjadi External. Kemudian, tambahkan cakupan otorisasi yang diperlukan aplikasi Anda. Untuk mempelajari lebih lanjut, lihat panduan lengkap Mengonfigurasi izin OAuth guide.

Mengotorisasi kredensial untuk aplikasi desktop

Untuk mengautentikasi pengguna akhir dan mengakses data pengguna di aplikasi Anda, Anda harus membuat satu atau beberapa Client ID OAuth 2.0. Client ID digunakan untuk mengidentifikasi aplikasi tunggal ke server OAuth Google. Jika aplikasi Anda berjalan di beberapa platform, Anda harus membuat client ID terpisah untuk setiap platform.
  1. Di Konsol Google API, buka Menu > Platform Google Auth > Clients.

    Buka Klien

  2. Klik Create Client.
  3. Klik Application type > Desktop app.
  4. Di kolom Name, ketik nama untuk kredensial tersebut. Nama ini hanya ditampilkan di Konsol Google API.
  5. Klik Create.

    Kredensial yang baru dibuat akan muncul di bagian "Client ID OAuth 2.0".

  6. Simpan file JSON yang didownload sebagai credentials.json, lalu pindahkan file tersebut ke direktori kerja Anda.

Menginstal library klien

  • Instal library menggunakan npm:

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

Menyiapkan contoh

  1. Di direktori kerja Anda, buat file bernama index.js.

  2. Di file tersebut, tempelkan kode berikut:

    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();

Menjalankan contoh

  1. Di direktori kerja Anda, jalankan contoh:

    node .
    
  1. Saat pertama kali dijalankan, contoh aplikasi meminta Anda untuk mengotorisasi akses:
    1. Jika Anda belum login ke Akun Google, login saat diminta. Jika Anda login ke beberapa akun, pilih satu akun yang akan digunakan untuk otorisasi.
    2. Klik Accept.

    Aplikasi Nodejs Anda berjalan dan memanggil Google Drive API.

    Informasi otorisasi disimpan dalam sistem file, sehingga saat Anda menjalankan kode contoh pada lain waktu, Anda tidak akan diminta untuk memberikan otorisasi.

Langkah berikutnya