使用飞书API自动化更新共享表格数据

天马行空

之前一直都是更新的爬虫逆向内容,工作中基本都用不到,这篇文章主要分享一下工作中结合爬虫开发的一个小内容。

需求

将某个网站每日更新的数据同步至飞书的共享表格中

需求拆解

1、网站数据爬取

这一块不是本篇内容的重点,就不写了,需要注意的点就是爬取返回的数据需要符合飞书API调用的数据格式即可。

2、飞书API调用

学习飞书的API调用首选肯定是飞书开放平台的开发文档,下面附上网址。

https://open.feishu.cn/document/home/index

2.1 开发流程

在这里插入图片描述

上述为飞书官方的一个开发流程,下面也将按照这个流程进行开发

2.2 创建应用

https://open.feishu.cn/app?lang=zh-CN

在这里插入图片描述

创建信息按需进行填写即可

2.3 配置应用

配置应用能力

在这里插入图片描述

配置权限管理

在这里插入图片描述

2.4 发布应用

填写相关信息后发布应用即可

在这里插入图片描述

应用发布后,记录应用凭证信息

2.5 修改表格权限

在这里插入图片描述

2.6 获取tenant_access_token

下面提供一个函数,用于获取tenant_access_token,其中app_id和app_secret需替换为应用凭证信息

def get_tat(self):
        url = "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal/"
        # 应用凭证里的 app id 和 app secret
        post_data = {"app_id": "脱敏", "app_secret": '脱敏'}
        r = requests.post(url, data=post_data)
        tat = r.json()["tenant_access_token"]
        self.logger.info(f'获取到tenant_access_token:{tat}')
        return tat

2.7 调用API插入数据

https://脱敏.feishu.cn/sheets/YfjxsQSzQhxXBDt2MJpcsQl3npc?sheet=3SbLYY
共享表格网址如上,YfjxsQSzQhxXBDt2MJpcsQl3npc为表格key值,3SbLYY为子表key值
可以使用下列函数对表格插入数据,insert_data为需要插入的数据,具体数据格式建议大家前往开放文档进行学习

    def insert_feishu(self, tat, insert_data):
        url = "https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/YfjxsQSzQhxXBDt2MJpcsQl3npc/values"  # YfjxsQSzQhxXBDt2MJpcsQl3npc—表格唯一值
        header = {"Content-Type": "application/json", "Authorization": "Bearer " + str(tat)}  # 请求头
        post_data = {"valueRange": {"range": f"23XPNa!A2:AQ",  # 21LOMz——子表唯一值
                                    "values": insert_data}}
        r2 = requests.put(url, data=json.dumps(post_data), headers=header)  # 请求写入

总结

本篇文章主要简单介绍飞书API文档请求流程分析,各位大佬在开发过程遇到问题,欢迎私信交流,感谢大家!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值