飞书机器人获取云文档中表格中的内容

一,为你的机器人申请开通权限,点击链接为官方示例

在这里插入图片描述

二,(文档管理员或作者)将相要访问的文档 以只读权限分享给上面的机器人,并点击你要获取的文档,获得链接

在这里插入图片描述
https://pbichxgoof.feishu.cn/sheets/{下面使用的第一个参数}?sheet={下面请求使用的第二个参数}

三,API请求文档内容

示例代码
class QAFeiShu():
    def __init__(self, app_id, app_secret, web_hook_url):
        self.app_id = app_id  # 发送图片时需要
        self.app_secret = app_secret  # 发送图片时需要
        self.web_hook_url = web_hook_url  # 机器人web_hook地址

    # 获取token为上传图片时使用
    def get_tenant_access_token(self):
        url = "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal"
        body = {
            "app_id": self.app_id,
            "app_secret": self.app_secret
        }
        r = requests.request(method='post', url=url, json=body)
        print(r.json())
        return r.json()['tenant_access_token']
    # 步骤二中第一个参考和第二个参数分别用在这里
    def get_data_from_excel(self,spreadsheetToken,range):
        tenant_access_token = self.get_tenant_access_token()
        headers = {
            # 获取tenant_access_token, 需要替换为实际的token
            'Authorization': 'Bearer {}'.format(tenant_access_token)
        }
        url = "https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/{}/values/{}".format(spreadsheetToken, range)
        r = requests.request(method='get',url=url,headers=headers)
        return r.json()
# 使用示例-->查看每一行的数据,你可以任意使用
qa_test = QAFeiShu(feishu_app_id, feishu_app_app_secret, feishu_app_web_hook)
qa_data = qa_test.get_data_from_excel(步骤二中参数一,步骤二中参数二)['data']['valueRange']['values']
for i,row_data in enumerate(qa_data):
	print(i,row_data)
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
【案例】 【案例】Python飞书机器⼈编辑表格 飞书机器⼈编辑表格 #!/usr/bin/env python # -*- coding: utf-8 -*- from .config import * import requests import json class Bot: def __init__(self, app): self.app = app # app为机器⼈ self.table = None # 共享⽂档的table_id self.sheet = None # 共享⽂档的sheet_id self.token = self.get_token() self.header = { "Authorization": self.token, "Content-Type": "application/json; charset=utf-8" } def get_token(self): """获取应⽤token""" url = url_api['url_token'] headers = {"Content-Type": "text/plain"} r = requests.post(url, headers=headers, json=self.app) return "Bearer " + json.loads(r.text)['tenant_access_token'] def use(self, table, sheet): self.table = table self.sheet = sheet return self def add_data(self, sheet_range="", values=[]): """增加数据,原始数据下移""" data = { "valueRange": { "range": self.sheet + sheet_range, "values": values } } r = requests.post(urls['插⼊数据'] % self.table, headers=self.header, json=data) return r.text def del_data(self, major=0, start_index=1, end_index=1): """删除数据""" data = { "dimension": { "sheetId": self.sheet, "majorDimension": ['ROWS', 'COLUMNS'][major], "startIndex": start_index, "endIndex": end_index } } r = requests.delete(urls['删除数据'] % self.table, headers=self.header, json=data) return r.text def union_cell(self, sheet_range, major=0): """合并单元格""" url = urls['合并单元格'] % self.table data = { "range": self.sheet + sheet_range, "mergeType": ['MERGE_ALL', 'MERGE_ROWS', 'MERGE_COLUMNS'][major] } r = requests.post(url, headers=self.header, json=data) return r.text def split_cell(self, sheet_range): """拆分单元格""" data = { "range": self.sheet + sheet_range } r = requests.post(urls['拆分单元格'] % self.table, headers=self.header, json=data) return r.text def set_style(self, sheet_range, kind): def set_style(self, sheet_range, kind): """设置单元格格式""" data = { "appendStyle": { "range": self.sheet + sheet_range, "style": self.style_list(kind) } } r = requests.put(urls['设置单元格格式'] % self.table, headers=self.header, json=data) return r.text def phone_to_open_id(self, mobile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

走走又停停,人生路上皆风景

不同的你我,不同的风景,祝幸福

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值