Hướng dẫn lấy app_access_token cho Ứng dụng Tùy chỉnh trong Lark Open Platform

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ạ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
app_access_tokenstringAccess token của ứng dụng
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 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_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 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ới tenant_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.

Lên đầu trang