Hướng dẫn gọi API Lark Open Platform bằng Python

1. Giới thiệu

Lark Open Platform cung cấp nhiều API mạnh mẽ cho phép các nhà phát triển tích hợp các tính năng của Lark vào ứng dụng của họ. Bài viết này sẽ hướng dẫn bạn cách gọi API của Lark Open Platform bằng Python.

2. Điều kiện tiên quyết

Trước khi bắt đầu, hãy đảm bảo bạn đã:

  1. Tạo ứng dụng trên Lark Open Platform
  2. Xin cấp quyền cần thiết cho ứng dụng
  3. Lấy access token
  4. Thiết lập danh sách IP được phép (nếu cần)

3. Cài đặt thư viện cần thiết

Chúng ta sẽ sử dụng thư viện requests để gửi HTTP requests. Cài đặt nó bằng pip:

pip install requests

4. Lấy Access Token

4.1 Lấy tenant_access_token

Đầu tiên, chúng ta cần lấy tenant_access_token:

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"
    }
    data = {
        "app_id": app_id,
        "app_secret": app_secret
    }

    response = requests.post(url, headers=headers, data=json.dumps(data))
    return response.json()["tenant_access_token"]

# Sử dụng hàm
app_id = "your_app_id"
app_secret = "your_app_secret"
tenant_access_token = get_tenant_access_token(app_id, app_secret)

5. Gọi API

5.1 Gửi tin nhắn

Ví dụ về cách gửi tin nhắn cho nhân viên trong tổ chức:

def send_message(token, user_id, message):
    url = "https://open.larksuite.com/open-apis/im/v1/messages"
    headers = {
        "Authorization": f"Bearer {token}",
        "Content-Type": "application/json; charset=utf-8"
    }
    data = {
        "receive_id_type": "user_id",
        "receive_id": user_id,
        "content": json.dumps({"text": message}),
        "msg_type": "text"
    }

    response = requests.post(url, headers=headers, params={"receive_id_type": "user_id"}, data=json.dumps(data))
    return response.json()

# Sử dụng hàm
user_id = "example_user_id"
message = "Hello World"
result = send_message(tenant_access_token, user_id, message)
print(result)

5.2 Truy vấn thông tin người dùng

Ví dụ về cách truy vấn thông tin người dùng:

def get_user_info(token, user_id):
    url = f"https://open.larksuite.com/open-apis/contact/v3/users/{user_id}"
    headers = {
        "Authorization": f"Bearer {token}",
        "Content-Type": "application/json; charset=utf-8"
    }
    params = {
        "user_id_type": "user_id"
    }

    response = requests.get(url, headers=headers, params=params)
    return response.json()

# Sử dụng hàm
user_id = "ou_c99c5f35d542efc7ee492afe11af19ef"
user_info = get_user_info(tenant_access_token, user_id)
print(user_info)

6. Xử lý kết quả trả về

API của Lark thường trả về kết quả dưới dạng JSON với cấu trúc gồm ba phần: code, msg, và data.

def handle_response(response):
    if response["code"] == 0:
        print("Thành công:", response["data"])
    else:
        print("Lỗi:", response["msg"])

# Sử dụng hàm
response = send_message(tenant_access_token, user_id, "Test message")
handle_response(response)

7. Xử lý lỗi và gỡ lỗi

Khi gặp lỗi, bạn có thể tham khảo mã lỗi phổ biến hoặc sử dụng x-tt-log id trong header phản hồi để yêu cầu hỗ trợ từ Lark Open Platform.

def debug_request(response):
    print("Status Code:", response.status_code)
    print("x-tt-log id:", response.headers.get("x-tt-log id"))
    print("Response:", response.json())

# Sử dụng trong hàm gọi API
response = requests.post(url, headers=headers, data=json.dumps(data))
debug_request(response)

8. Kết luận

Bài viết này đã hướng dẫn cách gọi API của Lark Open Platform bằng Python. Bằng cách tuân theo các bước này và sử dụng các ví dụ code, bạn có thể dễ dàng tích hợp các tính năng của Lark vào ứng dụng Python của mình. Hãy nhớ luôn kiểm tra tài liệu API mới nhất của Lark để biết thông tin chi tiết về từng endpoint cụ thể.

Lên đầu trang