cuốn sách gpt4 ai đã làm

node.js - NodeJS : Đăng nhập bằng Google cho các ứng dụng phía máy chủ

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 00:07:46 26 4
mua khóa gpt4 Nike

Theo dõi cái nàydocumentationTôi thực hiện thành công đăng nhập Google cho ứng dụng phía máy chủ và có thể truy cập GoogleCalendar của người dùng bằng Python ở phía máy chủ. Tôi không thể làm điều này bằng NodeJS.

Tóm lại - bằng Python tôi đã sử dụng mã xác thực Và đã đạt được các chứng chỉ sau:

từ ứng dụng nhập khẩu oauth2client

thông tin đăng nhập = client.credentials_from_clientsecrets_and_code(
CLIENT_SECRET_FILE,
['https://www.googleapis.com/auth/drive.appdata', 'hồ sơ', 'email'],
auth_code)

Sau đó tôi có thể lưu trữ các giá trị sau trong cơ sở dữ liệu:

gc_credentials_json = thông tin đăng nhập.to_json()

Và tạo thông tin xác thực (vâng, nó sử dụng mã thông báo làm mới riêng khi cần):

client.Credentials.new_from_json(gc_credentials_json)

Vì vậy, tôi muốn làm điều tương tự bằng NodeJS:

  1. Thông tin xác thực có thể được tạo dễ dàng chỉ bằng cách sử dụng như sau:CLIENT_SECRET_FILE,phạm vimã xác thực(Giống như tôi làm với Python)

  2. Nhận thông tin xác thực bằng cách sử dụng các giá trị thông tin xác thực trước đó mà không cần phân tích xem mã thông báo truy cập đã hết hạn hay chưa - Tôi thích giải pháp có sẵn (được cộng đồng thử nghiệm tốt)

Cảm ơn bạn trước!

câu trả lời hay nhất

我已经使用 thư viện google-auth Gói thực hiện nó.

Đây là chức năng truy xuất gcClient:

const performanceAuth = async () => {
mã thông báo const = đang chờ phân tích cú phápTokenFromDB();
const auth = OAuth2Client mới(
đã tải xuốngThông tin xác thựcJson.web.client_id,
đã tải xuốngThông tin xác thựcJson.web.client_secret
);
auth.on('tokens', async (newTokens) => {
cập nhậtDBWithNewTokens(newTokens);
});
đang chờ auth.setCredentials(token);
const gcClient = google.calendar({version: 'v3', auth});
trả lại gcClient;
};

Đây là phân tích cú phápTokenFromCurrentDB Một mẫu cho hàm, chỉ để đưa ra ý tưởng về đầu ra của nó:

const parsingTokenFromCurrentDB = async () => {
// Đặt ở đây mã của bạn để lấy từ DB các giá trị bên dưới
return {
truy cập_token,
mã thông báo_type,
làm mới_token,
ngày hết hạn,
};
};

Vì vậy, bằng cách sử dụng triển khai này, bạn sẽ nhận đượcgcClient:

const gcClient = đang chờ gc.getGcClient(org);

và sử dụng các phương pháp của nó như:

const gcInfo = đang chờ gc.getInfo(gcClient);
const sự kiện = đang chờ gc.getEvents(gcClient, calcPeriodInGcFormat());

Về node.js - NodeJS : Đăng nhập bằng Google cho các ứng dụng phía máy chủ, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/51450853/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress