1. Giới thiệu
Ứng dụng tùy chỉnh trong Lark Open Platform có thể lấy app_access_token
thông qua API được cung cấp. app_access_token
là một loại token xác thực quan trọng, cho phép ứng dụng truy cập các API của Lark với tư cách là ứng dụng, không phải với tư cách tenant hay người dùng cụ thể.
2. Thông tin quan trọng
- Thời gian hiệu lực tối đa của
app_access_token
là 2 giờ. - Nếu gọi API khi thời gian hiệu lực còn dưới 30 phút, một
app_access_token
mới sẽ được trả về, dẫn đến việc có hai token hợp lệ tồn tại đồng thời.
3. Chi tiết API
3.1 Thông tin cơ bản
- URL:
https://open.larksuite.com/open-apis/auth/v3/app_access_token/internal
- Phương thức HTTP: POST
- Loại ứng dụng hỗ trợ: Chỉ ứng dụng tùy chỉnh
- Scope yêu cầu: Không
3.2 Headers
Tham số | Loại | Bắt buộc | Mô tả |
---|---|---|---|
Content-Type | string | Có | Giá trị cố định: “application/json; charset=utf-8” |
3.3 Body
Tham số | Loại | Bắt buộc | Mô tả |
---|---|---|---|
app_id | string | Có | Định danh duy nhất của ứng dụng |
app_secret | string | Có | Khóa ứng dụng |
3.4 Phản hồi
Tham số | Loại | Mô tả |
---|---|---|
code | int | Mã lỗi, 0 là thành công |
msg | string | Mô tả lỗi |
app_access_token | string | Access token của ứng dụng |
expire | int | Thời gian hết hạn của token (giây) |
4. Ví dụ sử dụng Python
Dưới đây là một ví dụ về cách lấy app_access_token
bằng Python:
import requests
import json
def get_app_access_token(app_id, app_secret):
url = "https://open.larksuite.com/open-apis/auth/v3/app_access_token/internal"
headers = {
"Content-Type": "application/json; charset=utf-8"
}
payload = {
"app_id": app_id,
"app_secret": app_secret
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
if response.status_code == 200:
result = response.json()
if result.get("code") == 0:
return result.get("app_access_token"), result.get("expire")
else:
raise Exception(f"Error: {result.get('msg')}")
else:
raise Exception(f"HTTP Error: {response.status_code}")
# Sử dụng hàm
try:
app_id = "your_app_id_here"
app_secret = "your_app_secret_here"
token, expire_time = get_app_access_token(app_id, app_secret)
print(f"App Access Token: {token}")
print(f"Expires in: {expire_time} seconds")
except Exception as e:
print(f"An error occurred: {str(e)}")
5. Lưu ý quan trọng
- Bảo mật
app_id
vàapp_secret
của bạn. Không chia sẻ chúng công khai. - Xử lý lỗi một cách thích hợp trong ứng dụng của bạn.
- Cân nhắc lưu trữ và tái sử dụng
app_access_token
cho đến khi hết hạn để giảm số lượng yêu cầu API. app_access_token
khác vớitenant_access_token
. Đảm bảo sử dụng đúng loại token cho mỗi API call.
6. Xử lý lỗi
Tham khảo tài liệu về mã lỗi chung của Lark Open Platform để biết thêm chi tiết về các mã lỗi có thể gặp phải và cách xử lý chúng.
7. Kết luận
Việc lấy và sử dụng app_access_token
đúng cách là rất quan trọng cho sự thành công của ứng dụng tùy chỉnh trên Lark Open Platform. Token này cho phép ứng dụng của bạn thực hiện các hoạt động với tư cách là ứng dụng, không phụ thuộc vào tenant cụ thể. Hãy đảm bảo tuân thủ các hướng dẫn bảo mật và thực hành tốt nhất khi làm việc với các token xác thực.