123456789101112131415161718192021222324252627282930313233343536373839404142 |
- from utils.utils import request_post, request_get
- from config import set_config
- config_, env = set_config()
- class FeiShuHelper(object):
- @staticmethod
- def get_tenant_access_token():
- """获取自建应用的tenant_access_token"""
- url = "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal"
- headers = {"Content-Type": "application/json; charset=utf-8"}
- request_data = config_.FEISHU_TOKEN
- data = request_post(request_url=url, headers=headers, request_data=request_data)
- if data is not None:
- tenant_access_token = data.get('tenant_access_token')
- return tenant_access_token
- def get_data(self, spreadsheet_token, sheet_id):
- """读取电子表格数据"""
- tenant_access_token = self.get_tenant_access_token()
- url = f"https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/{spreadsheet_token}/values_batch_get"
- headers = {
- "Content-Type": "application/json; charset=utf-8",
- "Authorization": f"Bearer {tenant_access_token}"
- }
- params = {
- 'ranges': sheet_id,
- }
- data = request_get(request_url=url, headers=headers, params=params)
- values = []
- if data is not None:
- try:
- values = data['data']['valueRanges'][0].get('values')
- except:
- values = []
- return values
- if __name__ == '__main__':
- sheet_info = config_.SHEET_INFO['汉语常用词汇表']
- FeiShuHelper().get_data(spreadsheet_token=sheet_info.get('spreadsheet_token'), sheet_id=sheet_info.get('sheet_id'))
|