Cách tạo liên kết cuộc họp thu phóng OAuth từ máy chủ đến máy chủ bằng Python
Cho dù bạn đã tích hợp cuộc họp Zoom vào ứng dụng Python của mình hay chỉ dự định làm như vậy, thì Zoom cho biết ứng dụng JWT sẽ ngừng hoạt động vào ngày 1 tháng 9 năm 2023. Bạn sẽ phải chuyển sang tùy chọn OAuth hoặc OAuth từ máy chủ đến máy chủ để tránh thời gian ngừng hoạt động của dịch vụ.
Tùy chọn OAuth yêu cầu người dùng của bạn xác thực trang web của bạn thông qua tài khoản Zoom của họ. Nhưng nếu bạn chỉ tạo liên kết cuộc họp Zoom mà không nhất thiết phải yêu cầu sự cho phép của người dùng, thì tùy chọn OAuth từ máy chủ đến máy chủ là lựa chọn lý tưởng của bạn.
Vậy làm thế nào bạn có thể đạt được điều này với Python?
Mục Lục
Tạo ứng dụng OAuth từ máy chủ đến máy chủ Zoom
Để bắt đầu, hãy đến Zoom Marketplace để tạo một ứng dụng mới:
- Cuộn qua danh sách các ứng dụng và xác định vị trí OAuth từ máy chủ đến máy chủ ngọn cờ. Sau đó, nhấp vào Tạo nên cái nút.
- Nhập tên cho ứng dụng của bạn vào trường được cung cấp. Sau đó nhấn vào Tạo nên; điều này chuyển hướng bạn đến một trang khác.
- Sao chép tất cả thông tin đăng nhập của ứng dụng, bao gồm cả thông tin đăng nhập của bạn ID tài khoản, ID khách hàngVà Bí mật khách hàng. Nhấp chuột Tiếp tục một khi đã xong. Bạn có thể muốn dán chúng vào tệp biến môi trường của mình để che giấu chúng.
- Trên menu sau, hãy điền vào Thông tin cơ bản các trường có thông tin thích hợp và nhấp vào Tiếp tục cái nút.
- Nhấp chuột Tiếp tục ở trang sau.
- Tiếp theo, nhấp vào Thêm phạm vi và thêm các phạm vi sau; Nhận URI SIP được mã hóa của cuộc họp Và Xem và quản lý tất cả các cuộc họp của người dùng.
- Nhấp chuột Tiếp tục. Cuối cùng, bấm vào Kích hoạt ứng dụng của bạn để bắt đầu tương tác với Zoom API thông qua ứng dụng OAuth từ máy chủ đến máy chủ của bạn.
Mã Python để tạo liên kết thu phóng
Sau khi hoàn thành các bước trước đó, bạn có thể tạo liên kết cuộc họp khi đang di chuyển bằng API Zoom. Dưới đây là mã hoàn chỉnh để làm như vậy.
import requests
client_id = "<Your client ID>"
account_id = "<Your account ID>"
client_secret = "<Your client secret>"
auth_token_url = "https://zoom.us/oauth/token"
api_base_url = "https://api.zoom.us/v2"
def create_meeting(topic, duration, start_date, start_time):
data = {
"grant_type": "account_credentials",
"account_id": account_id,
"client_secret": client_secret
}
response = requests.post(auth_token_url,
auth=(client_id, client_secret),
data=data)
if response.status_code!=200:
print("Unable to get access token")
response_data = response.json()
access_token = response_data["access_token"]
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json"
}
payload = {
"topic": topic,
"duration": duration,
'start_time': f'{start_date}T10:{start_time}',
"type": 2
}
resp = requests.post(f"{api_base_url}/users/me/meetings",
headers=headers,
json=payload)
if resp.status_code!=201:
print("Unable to generate meeting link")
response_data = resp.json()
content = {
"meeting_url": response_data["join_url"],
"password": response_data["password"],
"meetingTime": response_data["start_time"],
"purpose": response_data["topic"],
"duration": response_data["duration"],
"message": "Success",
"status":1
}
print(content)
Trước tiên, mã sẽ gửi yêu cầu tới URL mã thông báo của Zoom để nhận mã thông báo ủy quyền. Chuyển phần này xuống qua các tiêu đề tới API của Zoom, nó sẽ trả về một phản hồi chứa chi tiết cuộc họp được chỉ định trong tải trọng. Cuộc họp thời gian bắt đầu được gửi cùng với tải trọng phải ở định dạng ISO 8601. Chúng tôi đã định dạng cái này bằng thao tác chuỗi của Python.
Ví dụ: bạn có thể gọi hàm để lên lịch cuộc họp vào ngày 23 tháng 8 năm 2023 lúc 6:24 chiều như sau:
create_meeting(
"Test Zoom Meeting",
"60",
"2023-08-23",
"18:24",
)
API trả về một JSON chứa nhiều thông tin, bao gồm liên kết cuộc họp, mật khẩu và ID, cùng nhiều thông tin chi tiết khác. bạn có thể in phản hồi_data và trích xuất những gì bạn cần, như được thực hiện trong đoạn mã trên.
Chẳng hạn, đầu ra yêu cầu của chúng tôi trông như thế này:
Tích hợp cuộc họp thu phóng vào ứng dụng của bạn
Mặc dù phần trình diễn của chúng tôi không bao gồm việc tích hợp vào trang web hoặc API của bạn, cho dù xây dựng bằng Django, Flask, FastAPI hay bất kỳ khung Python nào khác, bạn có thể dễ dàng cắm mã vào cơ sở mã của mình.
Và nếu xây dựng một API, bạn có thể chuyển đổi nó thành một điểm cuối mà bất kỳ khách hàng nào cũng có thể sử dụng được. Bạn thậm chí có thể mượn ý tưởng này cho một trang web được xây dựng bằng các ngôn ngữ khác ngoài Python. Ví dụ: các bước để tạo ứng dụng OAuth từ máy chủ đến máy chủ là chung chung.