การเริ่มต้นอย่างรวดเร็วด้วย Node.js

สร้างแอปพลิเคชันบรรทัดคำสั่ง Node.js ที่ส่งคำขอไปยัง People API

การเริ่มต้นอย่างรวดเร็วจะอธิบายวิธีตั้งค่าและเรียกใช้แอปที่เรียกใช้ Google Workspace API การเริ่มต้นอย่างรวดเร็วนี้ใช้วิธีการตรวจสอบสิทธิ์แบบง่ายซึ่งเหมาะกับสภาพแวดล้อมการทดสอบ สำหรับสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์ เราขอแนะนำให้คุณศึกษาเกี่ยวกับ การตรวจสอบสิทธิ์และการให้สิทธิ์ ก่อนที่จะ เลือกข้อมูลเข้าสู่ระบบ ที่เหมาะสมกับแอป

การเริ่มต้นอย่างรวดเร็วนี้ใช้ไลบรารีของไคลเอ็นต์ API ที่ Google Workspace แนะนำเพื่อจัดการรายละเอียดบางอย่างของขั้นตอนการตรวจสอบสิทธิ์และการให้สิทธิ์

วัตถุประสงค์

  • ตั้งค่าสภาพแวดล้อม
  • ติดตั้งไลบรารีของไคลเอ็นต์
  • ตั้งค่าตัวอย่าง
  • เรียกใช้ตัวอย่าง

ข้อกำหนดเบื้องต้น

คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้จึงจะเรียกใช้การเริ่มต้นอย่างรวดเร็วนี้ได้

  • โดเมน Google Workspace ที่เปิดใช้การเข้าถึง API แล้ว
  • บัญชี Google ในโดเมนดังกล่าวที่มีสิทธิ์ของผู้ดูแลระบบ

ตั้งค่าสภาพแวดล้อม

ตั้งค่าสภาพแวดล้อมให้เสร็จสมบูรณ์เพื่อทำการเริ่มต้นอย่างรวดเร็วนี้

เปิดใช้ API

ก่อนที่จะใช้ Google API คุณต้องเปิด API เหล่านั้นในโปรเจ็กต์ Google Cloud คุณสามารถเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google เดียว

หากใช้โปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google ใหม่เพื่อทำการคู่มือเริ่มใช้งานฉบับย่อนี้ ให้กำหนดค่าหน้าจอขอความยินยอม OAuth หากทำขั้นตอนนี้สำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์แล้ว ให้ข้ามไปยังส่วนถัดไป

  1. ในคอนโซล Google API ให้ไปที่เมนู > แพลตฟอร์มการตรวจสอบสิทธิ์ของ Google > การสร้างแบรนด์

    ไปที่การสร้างแบรนด์

  2. หากกำหนดค่าแพลตฟอร์มการตรวจสอบสิทธิ์ของ Google ไว้แล้ว คุณสามารถกำหนดค่าการตั้งค่าหน้าจอขอคำยินยอม OAuth ต่อไปนี้ใน การสร้างแบรนด์, กลุ่มเป้าหมาย และ การเข้าถึงข้อมูล หากเห็นข้อความที่ระบุว่า Google Auth platform not configured yet ให้คลิก Get Started
    1. ในส่วนข้อมูลแอป ในช่องชื่อแอป ให้ป้อนชื่อแอป
    2. ในส่วนอีเมลสนับสนุนสำหรับผู้ใช้ ให้เลือกอีเมลสนับสนุนที่ผู้ใช้สามารถติดต่อคุณได้หากมีคำถามเกี่ยวกับความยินยอม
    3. คลิกถัดไป
    4. ในส่วนกลุ่มเป้าหมาย ให้เลือกภายใน
    5. คลิกถัดไป
    6. ในส่วนข้อมูลติดต่อ ให้ป้อนอีเมล ที่คุณจะได้รับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงในโปรเจ็กต์
    7. คลิกถัดไป
    8. ในส่วนเสร็จสิ้น ให้อ่านนโยบายข้อมูลผู้ใช้สำหรับบริการ Google API และหากยอมรับ ให้เลือกฉันยอมรับบริการ Google API: นโยบายข้อมูลผู้ใช้
    9. คลิกต่อไป
    10. คลิกสร้าง
  3. ตอนนี้คุณสามารถข้ามการเพิ่มขอบเขตได้ ในอนาคต เมื่อสร้างแอปเพื่อใช้ภายนอกองค์กร Google Workspace คุณต้องเปลี่ยนประเภทผู้ใช้ เป็นภายนอก จากนั้น เพิ่มขอบเขตการให้สิทธิ์ที่แอปต้องใช้ ดูข้อมูลเพิ่มเติมได้ที่คู่มือฉบับเต็มเกี่ยวกับ การกำหนดค่าหน้าจอขอคำยินยอม OAuth

ให้สิทธิ์ข้อมูลเข้าสู่ระบบสำหรับแอปพลิเคชันบนเดสก์ท็อป

หากต้องการตรวจสอบสิทธิ์ผู้ใช้ปลายทางและเข้าถึงข้อมูลผู้ใช้ในแอป คุณต้องสร้างรหัสไคลเอ็นต์ OAuth 2.0 อย่างน้อย 1 รายการ รหัสไคลเอ็นต์ใช้เพื่อระบุแอปเดี่ยวไปยังเซิร์ฟเวอร์ OAuth ของ Google หากแอปทำงานบนหลายแพลตฟอร์ม คุณต้องสร้างรหัสไคลเอ็นต์แยกต่างหากสำหรับแต่ละแพลตฟอร์ม
  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์มการตรวจสอบสิทธิ์ของ Google > ไคลเอ็นต์

    ไปที่ไคลเอ็นต์

  2. คลิกสร้างไคลเอ็นต์
  3. คลิกประเภทแอปพลิเคชัน > แอปบนเดสก์ท็อป
  4. ในช่องชื่อ ให้พิมพ์ชื่อข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
  5. คลิกสร้าง

    ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"

  6. บันทึกไฟล์ JSON ที่ดาวน์โหลดเป็น credentials.json แล้วย้ายไฟล์ไปยังไดเรกทอรีงาน

ติดตั้งไลบรารีของไคลเอ็นต์

  • ติดตั้งไลบรารีโดยใช้ npm ด้วยคำสั่งต่อไปนี้

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

ตั้งค่าตัวอย่าง

  1. สร้างไฟล์ชื่อ index.js ในไดเรกทอรีงาน

  2. วางโค้ดต่อไปนี้ในไฟล์

    people/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 contacts.
    const SCOPES = ['https://www.googleapis.com/auth/contacts.readonly'];
    // The path to the credentials file.
    const CREDENTIALS_PATH = path.join(process.cwd(), 'credentials.json');
    
    /**
     * Prints the display names of the first 10 connections.
     */
    async function listConnectionNames() {
      // Authenticate with Google and get an authorized client.
      const auth = await authenticate({
        scopes: SCOPES,
        keyfilePath: CREDENTIALS_PATH,
      });
    
      // Create a new People API client.
      const service = google.people({version: 'v1', auth});
      // Get the list of connections.
      const result = await service.people.connections.list({
        resourceName: 'people/me',
        pageSize: 10,
        personFields: 'names,emailAddresses',
      });
      const connections = result.data.connections;
      if (!connections || connections.length === 0) {
        console.log('No connections found.');
        return;
      }
      console.log('Connections:');
      // Print the display name of each connection.
      connections.forEach((person) => {
        if (person.names && person.names.length > 0) {
          console.log(person.names[0].displayName);
        } else {
          console.log('No display name found for connection.');
        }
      });
    }
    
    await listConnectionNames();

เรียกใช้ตัวอย่าง

  1. เรียกใช้ตัวอย่างในไดเรกทอรีงานด้วยคำสั่งต่อไปนี้

    node .
    
  1. เมื่อเรียกใช้ตัวอย่างเป็นครั้งแรก ระบบจะแจ้งให้คุณให้สิทธิ์เข้าถึง โดยให้ทำดังนี้
    1. หากยังไม่ได้ลงชื่อเข้าใช้บัญชี Google ให้ลงชื่อเข้าใช้เมื่อได้รับข้อความแจ้ง หากลงชื่อเข้าใช้ไว้หลายบัญชี ให้เลือกบัญชีที่จะใช้ในการให้สิทธิ์
    2. คลิกยอมรับ

    แอปพลิเคชัน Nodejs จะทำงานและเรียกใช้ People API

    ระบบจะจัดเก็บข้อมูลการให้สิทธิ์ไว้ในระบบไฟล์ ดังนั้นเมื่อเรียกใช้โค้ดตัวอย่างในครั้งถัดไป ระบบจะไม่แจ้งให้คุณให้สิทธิ์

ขั้นตอนถัดไป