2022年 11月 16日

Python 接入飞书端口API – 实现共享空间的Excel更新

目的:接入飞书端口API 实现共享空间内Excel文档的更新

步骤一:发布自己的应用

首先:需要在飞书的开发者平台注册自己的账号。
然后:发布自己的应用,该应用的功能需要自己选择好(如果你的目的仅为更新文档,就需要把文档的权限设置好)。在使用飞书API的时候请确保该应用审核通过,并且是“已上线”的状态。

步骤二:通过自己的应用者身份拿到token

  1. 注册自己账号是为了获取身份凭证,也就是飞书开放文档内写的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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

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"])  #输出来判断写入是否成功
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4.以上链接为飞书接入实现共享空间的文档更新参考。需注意的是:不可对单个单元格进行更新,最小的更新范围为:A1:B2,即行最小为2,列最小为2,且单次写入不超过5000行,100列。如果超过范围,可以进行第二次的接入更新。

作者补充:更新文档需要把文档的权限设置好,确保代码能够运行成功。权限如下图:

在这里插入图片描述
如代码运行仍然不成功,可对照返回的code和msg信息修改自己的代码。

在这里插入图片描述