type
status
date
slug
summary
tags
category
icon
password
📝 搭建前提
- 一个Twitter开发者平台账号,申请入口为:Developer Platform,个人使用免费Plan即可,每个月允许500条POSTS。对于同步豆瓣或者个人博客来说,足够使用。注册时会要求填写申请理由,例如:
我这里提供一份范本,可根据自己需要修改:
Synchronize RSS to my personal X account for recording movies I have watched, music I have listened to, or content I have posted on my blog, etc. This functionality allows me to maintain a comprehensive and organized record of my personal experiences, preferences, and creative outputs. By integrating RSS feeds with my X account, I can easily keep track of the various forms of media I engage with, whether it's a captivating film that I watched over the weekend, a new album that I discovered and fell in love with, or an insightful blog post that I crafted and shared with my audience.
This synchronization process not only enhances my personal organization but also serves as a digital diary of sorts, capturing my evolving tastes and interests over time. It provides a convenient way to look back at my past activities and reflect on how my preferences have changed or remained consistent. Moreover, this feature can be a valuable tool for personal branding, allowing me to showcase my diverse interests and creative endeavors to my network.
Totally personal applications, this system is designed to cater to my individual needs and privacy preferences. It ensures that all the data being synchronized is managed within the confines of my personal X account, offering a secure and private space where I can store and access my records without any external interference. This level of personalization and control is crucial for maintaining the integrity of my digital identity and ensuring that my personal data remains protected and accessible only to me.
In summary, this RSS synchronization feature transforms my X account into a multifunctional hub where I can document, organize, and reflect upon my personal and creative experiences. It's a tool that not only simplifies my daily interactions with various forms of media but also enriches my digital presence by offering a detailed and dynamic representation of my personal journey.
- 一个PipeDream账号,申请入口为:pipedream,可以使用Google或者Github账号登录。同样免费计划即可,可以创建3个工作流,足够使用。
📝 主旨内容
获取Twitter Key And Tokens
打开https://developer.x.com/en/portal/projects-and-apps,在左侧菜单点击
Projects & Apps
→ Overview
,然后系统已经自动生成了一个App,我们需要的是获取这个App的Api以及认证所需的Token。点击
User authentication settings
下的Set Up
按钮,进入配置页面:App Permissions
选择Read and write
,因为我们要发布推文;
Type of App
选择Web App, Automated App or Bot
App Info
中Callback URL
和Website URL
填写自己的域名,如果没有就填写pipedream的。
- 点击
Save
会输出一个Client ID和Token,但是这个不是我们需要的,没有什么用。
返回Overview页面,点击PROJECT APP后面的小钥匙图标:
点击
Access Token and Secret
后面的Generate
按钮,会生成Access Token和Access Token Secret,一定要复制保存下来,等下会用到。点击
API Key and Secret
后面的Regenerate
,会生成API Key和API Key Secret,同样保存下来,等下在PipeDream中会用到。配置Pipedream环境变量
现在假设你已经完成了Pipedream的注册,进入后管理后台,点击左侧菜单的
Settings
,然后选择Environment Variables
点击右上的
+ New Variable
添加新的变量,总计需要添加4条,对应关系如下:TWITTER_ACCESS_SECRET
: 获取的Access Token Secret
TWITTER_ACCESS_TOKEN
: 获取的Access Token
TWITTER_API_SECRET
: 获取的API Key Secret
TWITTER_API_KEY
: 获取的API Key Secret
对应关系不要搞乱,变量名称也不要有错误。
配置Pipedream Project和Workflow
点击左侧菜单的
Projects
,然后点击右上角的+ New Project
,填写项目名称,建议填写英文,字数不要太多,因为如果想要删除项目,要重新输入一遍项目名称,很麻烦。例如我就填写Twitter,然后点击Create Project
,完成项目的创建。在列表中点击刚刚创建的项目名称,然后点击页面中硕大的一个
+New
按钮,选择Workflow
,修改一下Workflow的名称,同样名称写的简单点,不然删除很麻烦,其他内容不用动,直接Create Workflow
添加RSS Trigger触发器
点击
Add Trigger
,先添加一个触发器。因为我们是想在RSS有新的条目时,自动发送一条推文,所以这里的触发器就是RSS Feed。在
My Sources
中选择New Item in RSS Feed
Timer
:建议选择8小时查询一次,降低请求。UTC懒得选择的话,维持默认也可以。Feed URL
:填写你要读取的RSS Feed地址。Published After
:维持默认不用管。如果想避免发送重复内容或者一次发送太多,可以选择当前时间较前一点点的时间。点击
Save and continue
完成Trigger触发器的配置。Pipedream会尝试读取你填写的RSS Feed地址,并返回读取结果。添加触发动作
完成上面RSS Trigger的创建之后,我们就需要配置当RSS有新的内容时,所要触发的动作,也就是在Twitter上发送一条推文。
点击画板上,Trigger下面的
+
号来添加Action。选择
Node
→ Run Node Code
在右侧的代码编辑器中,复制下面的代码内容:
然后点击
Test
进行代码测试,如果没有问题的话,这时候你的Twitter中就会有一条自动发送消息。然后点击Deploy
完成这个通过Pipedream推送RSS内容到Twitter的工作流部署。Twitter推文效果
效果大概如图所示(有点丑,但可以用),可根据自己需要对以下代码部分进行修改:
之后如果我有新的代码调整,也会同步更新到这篇文章内。
🤗 总结归纳
整个教程整体来说没有太多的技术难度,主要就是一些复制与粘贴的工作。不过因为之前已经在Pipedream中使用了2个Workflow用于BlueSky的RSS同步,所以一共3个的Workflow限制目前刚刚好,如果再多的话,免费版的账号就不支持了。后续会尝试将BlueSky和Twitter的同步尝试写在一个Workflow里。
如无意外,这应该是2024年的最后一篇正式文章。提前祝大家新年快乐,2025年一切顺利。
2025/01/02 更新
代码目前存在一个问题,当URL含有中文字符时,在Twitter会产生截断,我想想办法怎么修一下。
📎 参考文章
有关Workflow安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~