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 CloudTrong 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- 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
- Nhấp vào Tạo thông tin xác thực > ID khách hàng OAuth.
- Nhấp vào Loại ứng dụng > Ứng dụng dành cho máy tính để bàn.
- 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
- 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
- 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
- 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/local-auth@2.1.0 --save
thiết lập mẫu
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
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 = ['//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
Trong thư mục làm việc của bạn, hãy chạy mẫu
node .
Lần đầu tiên bạn chạy mẫu, nó sẽ nhắc bạn cấp quyền truy cập
- 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
- 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