文章摘要
加载中...|
此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结 投诉

缘由

这几天偶然看到一府博客的 飞书自动化流程——友链申请方式优化 这篇文章,他采用了飞书的多维表格来实现友链的自动化,试了试,感觉确实不错,顺便把他没写完的 API 部分也补充下吧。

大致流程

相比于目前的传统模式,如 发表评论等待审核手动添加更新站点,整个过程太过于繁琐( 当然我这也没几个友链,倒是问题不大 🤣 ),而如果使用飞书的自动化,那么就变成了 用户填写表单触发自动化流程管理员审核页面自动更新,这样的话仅仅只需管理员审核一次即可,极大的简化了流程。目前唯一的问题就是,飞书的自动化流程是有限额的,基础版的次数为 200 次 / 月 ,可能会不够用,这个问题暂时还无法解决,不过按照申请流程来说,一次完整的流程仅会占用 2 次,暂时应该是够用的。当然还有一种方法,就是使用飞书个人版,个人版目前的次数为 5000 次 / 月,足够使用,就是 没办法向填写表单的用户发送邮件。

申请问卷界面申请问卷界面

表单管理界面表单管理界面

实现流程

其实准备过程是十分繁琐的,尤其是你还没有飞书的账号的话。

注册企业账号

首先,你需要注册一个飞书企业账号,注册过程非常简单,只需要填写一些基本信息即可。这一步不是必须的,但是正如上文所说,如果你想使用飞书的邮件发送功能的话,就必须要先注册一个企业账号并开通邮箱功能。

新建问卷

账号准备就绪后,就可以 新建问卷 了,问卷内容不在此阐述,可根据自己的需求填写,填写完成后,可在右上角的设置中配置一下匿名和填写次数:

问卷配置问卷配置

在配置好问卷后,会自动跳转至一个查询页,你可以再次配置下,以便于用户查询友链状态和信息:

问卷查询配置问卷查询配置

配置自动化流程

接下来就是最重要的环节了,在表单管理界面点击右上角的自动化按钮来配置自动化流程,这里先以我的问卷为例,配置如下:

新增友情链接

在左侧设置如下条件:添加新记录时,并且新记录被添加时同时满足以下条件:您的邮箱不为空

在右侧执行操作处添加 发送飞书消息 以及 发送飞书邮件修改记录 这三个操作:

新增友情链接新增友情链接

具体配置过程中的内容部分几乎都可以使用输入框右上角的加号来引入多维表格中的变量值,这样能让发送的邮件内容更加完善:

引用多维表格中的变量值引用多维表格中的变量值

这样配置完成后,当用户新增了表单后,申请的用户将能够收到一封邮件,内容如下:

申请成功邮件申请成功邮件

同时你也能在飞书客户端收到这样一则消息:

申请成功消息申请成功消息

添加友情链接

就是把新申请的友链审核通过的意思,这一步也不难,配置如下:

首先就是在表单中添加几个按钮类型的列,分别设置为 添加友链 以及 撤下友链

表单管理界面表单管理界面

随后在自动化配置中新增 添加友链 操作,具体配置和上一步大同小异:

添加友链添加友链

配置完成后,点击 添加友链 按钮,友链的状态就会变为 已添加,并且申请的用户会收到一封邮件通知:

添加成功邮件添加成功邮件

博客同步更新

WARNING

接下来的操作略显复杂,请做好心理准备

由于一府大佬使用的是动态博客 Halo,能够更为方便的实现自动更新,但是我的博客使用的是纯静态,只能从 API 接口着手考虑,好在飞书也提供了相应的接口,下面我来说说如何实现:

新建应用

由于飞书的所有接口都需要身份认证,就是需要传入 tenant_access_tokenuser_access_token,所以需要注册一个应用,并获取这个应用的 App IDApp Secret

  1. 前往 开发者后台 并创建企业自建应用

  2. 新建成功后在左侧菜单选择 权限管理

  3. 开通 bitable:app 相关权限

    开通权限开通权限

  4. 添加成功后,点击 凭证与基础信息,复制 App IDApp Secret

准备所需数据

应用新建完成并成功开通权限后,就需要获取调用相关接口所需的 tenant_access_token 的值了,这里需要用到飞书提供的 自建应用获取 tenant_access_token 接口:

bash
POST https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal

传入 App IDApp Secret 后,即可取得 tenant_access_token

json
{
  "code": 0,
  "msg": "ok",
  "tenant_access_token": "你的 tenant_access_token",
  "expire": 7200
}

其中,这个接口返回的 expire 值即为 tenant_access_token 的有效时间,过期需重新获取,你可以适当的将其保存下来。

获取表单数据

获取表单数据,需要用到飞书提供的 获取多维表格记录 接口:

bash
POST https://open.feishu.cn/open-apis/bitable/v1/apps/:app_token/tables/:table_id/records/search

其中,需要两个重要的参数:app_tokentable_id,这两个参数都可在表单管理页面获取。前往表单管理页面,地址栏中的值即为所需的值:

获取参数获取参数

获取到全部所需参数就可以开始获取表单数据了,具体传入什么请求参数可以去看官方的文档,还是挺多的,这里就不再细说了。

由于获取这个数据涉及到两个接口,于是我就写了个脚本:获取飞书多维表格数据

这个脚本在完成请求后,会将数据进行处理,最终返回出这样的数据,便于在友链页进行调用:

json
{
  "code": 0,
  "has_more": false,
  "msg": "success",
  "from_cache": true,
  "timestamp": 1716282543,
  "data": [
    {
      "id": "20240521000007",
      "name": "無名小栈",
      "icon": "https://pic.efefee.cn/uploads/2024/02/02/65bc526a940e3.png",
      "desc": "分享技术与科技生活",
      "type": "技术类",
      "url": "https://blog.imsyy.top/",
      "rss": "https://blog.imsyy.top/rss.xml",
      "timestamp": 1716282392000
    },
    // ...
  ]
}

在拿到这些数据后,你就可以在友链页面渲染出友链信息了,大功告成!

下班收工

先就这样,等日后次数不足了或者发现了能替代这一套流程的软件了再说 ~

赞赏博主
评论 隐私政策