n8n自动化工作流如何连接notion,来实现对notion里的数据的一些交互?
当然可以,今天我们就来讲讲notion节点如何在n8n里应用。
我们还是想找一个实际的案例来说,这样更容易理解一些。
比如:我在notion里有一张表格,里面放了一些youtube频道主的频道链接和频道ID,然后我想通过n8n来定期读取这些频道主当天是否有更新视频,如果有更新,就把更新的内容通过telegram bot发给我。
(notion的表格页面)
(telegram bot的通知)
接着我们详细看看用n8n如何去实现这个功能。
一、定时触发
在开始节点,我们设置一个Schedule Trigger的节点,按时间来触发这个流程。
比如我想让这个流程每天晚上11点自动触发,那么就做如下设置即可:
二、获取当天的日期
因为我们后面希望获取当天频道主的视频更新,所以这里我们就用date&time的节点来实现获取当天日期。
首先,我们先获取到当天的日期
最后output的日期格式如上面截图。
我们只需要前面的年月日,如2024-08-15
所以我们再添加一个date&time节点,选择Format a Date的操作。格式选择YYYY-MM-DD
执行一下,output出来的就是YYYY-MM-DD格式的日期,如2024-08-15
三、获取notion数据
现在我们开始要从notion获取数据了
先添加一个notion节点
再配置之前,我们需要先去notion注册一个免费的api key
1、在需要被获取数据的notion的页面,点击Manage connections
在右上角点击更多-connect to – Manage connections
2、进入Develop or manage integrations
3、新建一个应用,命名,比如我们给它取个名字:n8n workflow
4、新建后,我们会获得一个secret,也就是API key,这个key我们复制下来,后面在n8n会用到。
5、然后我们回到notion页面,连接上我们创建好的应用
6、成功连接上之后,我们这一步就完成了。后面就需要n8n通过API来获取到这个notion页面里的数据了。
我们打开n8n的notion节点开始配置
首先在Credential to connect with这里,我们新建一个认证,然后输入我们刚才在notion保存的API key
这样我们就连接上了我们的notion账户
连上之后我们就选择要获取哪个页面的数据。
点击执行试一下。看到我们是已经正常取到了notion页面里的表格数据了。
四、获取数据列表
接下来,我们添加一个Edit Fields的字段
这个字段的目的是帮我把notion节点output出来数据的频道主id提取出来,变成一个数组,后面我们就针对这个数组循环去看对应的频道主id有无视频更新了。
五、循环数据列表
好了,接着我们就来对频道主id进行循环,依次是获取频道的更新。
这里的逻辑是这样:
1、查询当天发布的视频列表
这里我们用http的节点
这里用到的是https://www.googleapis.com/youtube/v3/search的api接口 (API文档看这里)
连接上youtube的账户,认证完成。
这里的Query Parameters需要配置一下
上面就是这个接口需要配置的一些内容,如果你还有其他需求,可以参照youtube的API文档来配置即可。
2、if节点
if节点,我们需要去判断我们查找的频道id当天是否有更新,如果没有更新,totalresults这个值就是0,那就继续返回去查询下一个频道id
如果totalresults不为0,说明当天是有视频更新的,接下来我们就需要去获取更新视频的详细内容。
这一步就来到了获取视频内容的节点。这里我们还是用http接口来实现
六、获取youtube视频内容
这一次用到的是https://www.googleapis.com/youtube/v3/videos接口。 (API文档看这里)
同样的还是先粘贴接口地址,然后连接账户。
Query Parameters这里配置两个参数,需要根据videoid来取获取视频内容。
七、telegram bot发送
好了,到最后一步了,当有视频更新时,我希望通过telegram bot发送给我
我们添加上telegram的节点。
1、我们先去telegram创建个机器人
如何配置?(在之前的文章有写过,这里就当回顾一下吧)
①在Telegram中搜索“BotFather”,然后单击“开始”
②在BotFathe输入 /newbot
的指令,即新建一个bot
③输入机器人的名称(以后可以更改)
④获得了bot的token,这个token保留好
到此机器人就创建好了。
2、在n8n的telegram节点进行配置
选择send message
这里主要是配chatid 和 text
①chat id如何获取:给机器人发条消息,然后打开链接:https://api.telegram.org/bottoken/getUpdates,注意token这里要换成你机器人的实际token
打开链接之后,红框里的id ,就是chat id了
②text就是消息内容的配置,就是在bot里你的消息是什么样子的。
那么我们定义一下
那么这个节点就配置完了。
其实到这里,整个流程就配置完成了。
最后,记得点右上角的保存和开启流程。
流程就可以正常运行起来了。
当每天晚上11点时,流程就会自动触发,如果当天我们列表里的频道主有更新时,就会收到telegram bot消息。
比如:
您好
請問在 查询当天发布的视频列表 的設定裡
Name: part
Value: string
會出現錯誤訊息
Output
Bad request – please check your parameters
‘string’
這個欄位是哪裡的設定值?
把value里的string ,换成snippet试试看?
可以了
謝謝