import requests class Feishu: def __init__(self): self.token = None self.headers = {"Content-Type": "application/json"} def fetch_token(self): url = "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal/" post_data = { "app_id": "cli_a51114cf8bf8d00c", "app_secret": "cNoTAqMpsAm7mPBcpCAXFfvOzCNL27fe", } response = requests.request("POST", url=url, data=post_data) tenant_access_token = response.json()["tenant_access_token"] self.token = tenant_access_token class FeishuSheetApi(Feishu): def prepend_value(self, sheet_token, sheet_id, ranges, values): insert_value_url = "https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/{}/values_prepend".format( sheet_token ) headers = { "Authorization": "Bearer " + self.token, "contentType": "application/json; charset=utf-8", } body = { "valueRange": {"range": "{}!{}".format(sheet_id, ranges), "values": values} } response = requests.request( "POST", url=insert_value_url, headers=headers, json=body ) print(response.json()) def insert_value(self, sheet_token, sheet_id, ranges, values): insert_value_url = ( "https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/{}/values".format( sheet_token ) ) headers = { "Authorization": "Bearer " + self.token, "contentType": "application/json; charset=utf-8", } body = { "valueRange": {"range": "{}!{}".format(sheet_id, ranges), "values": values} } response = requests.request( "PUT", url=insert_value_url, headers=headers, json=body ) print(response.json())