Xác thực google mongodb

Khởi động nhanh Google Workspace sử dụng các thư viện ứng dụng API để xử lý một số chi tiết của quy trình xác thực và ủy quyền. Chúng tôi khuyên bạn nên sử dụng các thư viện máy khách cho các ứng dụng của riêng mình. Trước khi bạn có thể chạy ứng dụng mẫu, mỗi lần bắt đầu nhanh đều yêu cầu bạn bật xác thực và ủy quyền. Nếu bạn chưa quen với việc xác thực và ủy quyền cho API Google Workspace, hãy đọc phần Tổng quan về xác thực và ủy quyền

Tạo một nút. ứng dụng dòng lệnh js tạo yêu cầu tới Gmail API

mục tiêu

  • Thiết lập môi trường của bạn
  • Cài đặt thư viện máy khách
  • thiết lập mẫu
  • Chạy mẫu

điều kiện tiên quyết

Để chạy khởi động nhanh này, bạn cần có các điều kiện tiên quyết sau

  • Cài đặt
  • Một dự án Google Cloud
  • Tài khoản Google đã bật Gmail

Thiết lập môi trường của bạn

Để hoàn thành phần bắt đầu nhanh này, hãy thiết lập môi trường của bạn

Kích hoạt API

Trước khi sử dụng Google API, bạn cần bật chúng trong dự án Google Cloud. Bạn có thể bật một hoặc nhiều API trong một dự án Google Cloud
  • Trong bảng điều khiển Google Cloud, hãy bật API Gmail

    Kích hoạt API

Ủy quyền thông tin đăng nhập cho một ứng dụng máy tính để bàn

Để xác thực là người dùng cuối và truy cập dữ liệu người dùng trong ứng dụng của bạn, bạn cần tạo một hoặc nhiều OAuth 2. 0 ID khách hàng. ID ứng dụng khách được sử dụng để xác định một ứng dụng cho máy chủ OAuth của Google. Nếu ứng dụng của bạn chạy trên nhiều nền tảng, bạn phải tạo ID ứng dụng khách riêng cho từng nền tảng. thận trọng. Khởi động nhanh này phải được chạy cục bộ và có quyền truy cập vào trình duyệt. Nó không hoạt động nếu chạy trên thiết bị đầu cuối từ xa như Cloud Shell hoặc qua SSH
  1. Trong bảng điều khiển Google Cloud, đi tới Trình đơn trình đơn > API & Dịch vụ > Credentials.

    Chuyển đến Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > ID khách hàng OAuth.
  3. Nhấp vào Loại ứng dụng > Ứng dụng dành cho máy tính để bàn.
  4. Trong trường Tên, hãy nhập tên cho thông tin xác thực. Tên này chỉ được hiển thị trong bảng điều khiển Google Cloud
  5. Nhấp vào Tạo. Màn hình đã tạo ứng dụng khách OAuth xuất hiện, hiển thị ID ứng dụng khách mới và Bí mật ứng dụng khách của bạn
  6. Nhấp vào OK. Thông tin đăng nhập mới được tạo xuất hiện trong OAuth 2. 0 ID khách hàng
  7. Lưu tệp JSON đã tải xuống dưới dạng credentials.json và di chuyển tệp vào thư mục làm việc của bạn

Cài đặt thư viện máy khách

  • Cài đặt thư viện bằng npm

    npm install googleapis@105 @google-cloud/[email protected] --save
    

thiết lập mẫu

  1. Trong thư mục làm việc của bạn, hãy tạo một tệp có tên index.js

  2. Trong tệp, dán đoạn mã sau

    gmail/khởi động nhanh/chỉ mục. js

    Xem trên GitHub

    const fs = require('fs').promises;
    const path = require('path');
    const process = require('process');
    const {authenticate} = require('@google-cloud/local-auth');
    const {google} = require('googleapis');
    
    // If modifying these scopes, delete token.json.
    const SCOPES = ['https://www.googleapis.com/auth/gmail.readonly'];
    // The file token.json stores the user's access and refresh tokens, and is
    // created automatically when the authorization flow completes for the first
    // time.
    const TOKEN_PATH = path.join(process.cwd(), 'token.json');
    const CREDENTIALS_PATH = path.join(process.cwd(), 'credentials.json');
    
    /**
     * Reads previously authorized credentials from the save file.
     *
     * @return {Promise}
     */
    async function loadSavedCredentialsIfExist() {
      try {
        const content = await fs.readFile(TOKEN_PATH);
        const credentials = JSON.parse(content);
        return google.auth.fromJSON(credentials);
      } catch (err) {
        return null;
      }
    }
    
    /**
     * Serializes credentials to a file comptible with GoogleAUth.fromJSON.
     *
     * @param {OAuth2Client} client
     * @return {Promise}
     */
    async function saveCredentials(client) {
      const content = await fs.readFile(CREDENTIALS_PATH);
      const keys = JSON.parse(content);
      const key = keys.installed || keys.web;
      const payload = JSON.stringify({
        type: 'authorized_user',
        client_id: key.client_id,
        client_secret: key.client_secret,
        refresh_token: client.credentials.refresh_token,
      });
      await fs.writeFile(TOKEN_PATH, payload);
    }
    
    /**
     * Load or request or authorization to call APIs.
     *
     */
    async function authorize() {
      let client = await loadSavedCredentialsIfExist();
      if (client) {
        return client;
      }
      client = await authenticate({
        scopes: SCOPES,
        keyfilePath: CREDENTIALS_PATH,
      });
      if (client.credentials) {
        await saveCredentials(client);
      }
      return client;
    }
    
    /**
     * Lists the labels in the user's account.
     *
     * @param {google.auth.OAuth2} auth An authorized OAuth2 client.
     */
    async function listLabels(auth) {
      const gmail = google.gmail({version: 'v1', auth});
      const res = await gmail.users.labels.list({
        userId: 'me',
      });
      const labels = res.data.labels;
      if (!labels || labels.length === 0) {
        console.log('No labels found.');
        return;
      }
      console.log('Labels:');
      labels.forEach((label) => {
        console.log(`- ${label.name}`);
      });
    }
    
    authorize().then(listLabels).catch(console.error);
    

Chạy mẫu

  1. Trong thư mục làm việc của bạn, hãy chạy mẫu

    node .
    
  2. Lần đầu tiên bạn chạy mẫu, nó sẽ nhắc bạn cấp quyền truy cập

    1. Nếu bạn chưa đăng nhập vào Tài khoản Google của mình, bạn sẽ được nhắc đăng nhập. Nếu bạn đã đăng nhập vào nhiều tài khoản, hãy chọn một tài khoản để sử dụng để ủy quyền
    2. Nhấp vào Chấp nhận

    Thông tin ủy quyền được lưu trữ trong hệ thống tệp, vì vậy, lần sau khi bạn chạy mã mẫu, bạn sẽ không được nhắc ủy quyền