Hướng dẫn lấy tenant_access_token trong Lark Open Platform với Python

1. Giới thiệu

Ứng dụng tùy chỉnh trong Lark Open Platform có thể lấy tenant_access_token thông qua API được cung cấp. tenant_access_token là chìa khóa quan trọng để truy cập nhiều API khác trong hệ thống Lark.

2. Thông tin quan trọng

  • Thời gian hiệu lực tối đa của tenant_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 tenant_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/tenant_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ạiBắt buộcMô tả
Content-TypestringGiá trị cố định: “application/json; charset=utf-8”

3.3 Body

Tham sốLoạiBắt buộcMô tả
app_idstringĐịnh danh duy nhất của ứng dụng
app_secretstringKhóa ứng dụng

3.4 Phản hồi

Tham sốLoạiMô tả
codeintMã lỗi, 0 là thành công
msgstringMô tả lỗi
tenant_access_tokenstringAccess token
expireintThờ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 tenant_access_token bằng Python:

import requests
import json

def get_tenant_access_token(app_id, app_secret):
    url = "https://open.larksuite.com/open-apis/auth/v3/tenant_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("tenant_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_tenant_access_token(app_id, app_secret)
    print(f"Tenant 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_idapp_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 tenant_access_token cho đến khi hết hạn để giảm số lượng yêu cầu API.

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 tenant_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. 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.

Lên đầu trang