Panduan memulai Node.js

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

Quickstart menjelaskan cara menyiapkan dan menjalankan aplikasi yang memanggil Google Workspace API. Quickstart 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.

Quickstart 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 quickstart ini, Anda memerlukan prasyarat berikut:

  • Akun Google dengan Gmail diaktifkan.

Menyiapkan lingkungan Anda

Untuk menyelesaikan quickstart 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 quickstart 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 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 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:

    gmail/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 Gmail labels.
    const SCOPES = ['https://www.googleapis.com/auth/gmail.readonly'];
    // The path to the credentials file.
    const CREDENTIALS_PATH = path.join(process.cwd(), 'credentials.json');
    
    /**
     * Lists the labels in the user's account.
     */
    async function listLabels() {
      // Authenticate with Google and get an authorized client.
      const auth = await authenticate({
        scopes: SCOPES,
        keyfilePath: CREDENTIALS_PATH,
      });
    
      // Create a new Gmail API client.
      const gmail = google.gmail({version: 'v1', auth});
      // Get the list of labels.
      const result = await gmail.users.labels.list({
        userId: 'me',
      });
      const labels = result.data.labels;
      if (!labels || labels.length === 0) {
        console.log('No labels found.');
        return;
      }
      console.log('Labels:');
      // Print the name of each label.
      labels.forEach((label) => {
        console.log(`- ${label.name}`);
      });
    }
    
    await listLabels();

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 Gmail 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