目的:接入飞书端口API 实现共享空间内Excel文档的更新
步骤一:发布自己的应用
首先:需要在飞书的开发者平台注册自己的账号。
然后:发布自己的应用,该应用的功能需要自己选择好(如果你的目的仅为更新文档,就需要把文档的权限设置好)。在使用飞书API的时候请确保该应用审核通过,并且是“已上线”的状态。
步骤二:通过自己的应用者身份拿到token
-
注册自己账号是为了获取身份凭证,也就是飞书开放文档内写的user_token。这个可以通过上面的账号,密码 通过代码的方式获取到。
url= "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal/" post_data = {"app_id": "cli_**********", #这里账号密码是发布应用的后台账号及密码 "app_secret": ******************} r = requests.post(url, data=post_data) tat = r.json()["tenant_access_token"] print(tat) #tat就是通过接口返回的身份凭证token
2.接下来即可通过飞书的接入文档进行自己的操作啦!
3.https://open.feishu.cn/document/ukTMukTMukTM/uAjMzUjLwIzM14CMyMTN
#代码块-requests基本请求方式
#飞书文档的储存地址结构:https://企业地址/sheets/shtcnjGdHzBm7Qa85UXQYk9OPxh?sheet=0cVqmE #一般来说sh开头为文档地址,sheet=后跟工作簿地址,这两块是代码需要引用的参数
url = "https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/shtcnjGdHzBm7Qa85UXQYk9OPxh/values" #写入的sh开头的文档地址,其他不变
header = {"Content-Type": "application/json", "Authorization": "Bearer " + str(tat)} #请求头
post_data = {"valueRange": {"range": "0cVqmE!C3:N8" #这个sheet的单元格写入范围, "values": [[ "Hello", 1],[ "World", 1]]}} #传参及含义:需要在0cVqmE这个工作簿内的单元格C3到N8写入内容为helloworld等内容
r2 = requests.put(url, data=json.dumps(post_data), headers=header) #请求写入
print( r2.json()["msg"]) #输出来判断写入是否成功
4.以上链接为飞书接入实现共享空间的文档更新参考。需注意的是:不可对单个单元格进行更新,最小的更新范围为:A1:B2,即行最小为2,列最小为2,且单次写入不超过5000行,100列。如果超过范围,可以进行第二次的接入更新。
作者补充:更新文档需要把文档的权限设置好,确保代码能够运行成功。权限如下图:
如代码运行仍然不成功,可对照返回的code和msg信息修改自己的代码。