简介
你可使用 Twitter API 检索和浏览用户发布的公共推文的时间线。要浏览用户的推文,你可以使用近期搜索功能来获取过去 7 天的推文。
在本指南中,你将学习如何:
- 为你的工作设定一个目标
- 连接并验证 Twitter API
- 塑造数据
- 构建任何额外的逻辑或连接到你正在使用的其他 API
前提条件
- 你必须拥有一个已获批准的开发者账号,并且已激活新的开发者门户体验。通过有效密钥和令牌,可访问在开发者门户中创建的项目所附带的开发者应用。
Twitter 开发者门户应用的不记名令牌。
需要考虑的步骤
步骤 1:为你的工作设定一个目标
在浏览用户的推文时,你可能需要花点时间来弄清楚你到底要完成什么任务。
- 创建工作流程触发器:某位用户发推 x,然后就会发生 y,例如,如果用户名 TwitterDev 发推出现“重要变化”一词,你可以向你的工作账号发送一封邮件,以便知道重要变化是什么。
- 分析推文情绪:你也可以做一些任务,比如在你的时间线上分析推文情绪,这样就可以分析自己的推文,知道你的一周有多积极。
步骤 2:连接并验证 Twitter API
要连接到 Twitter API,你需要传递凭据进行验证,然后才能获取任何数据。此时,你可能要考虑使用一个库来帮助你使用 OAuth,例如 Python 的 requests 或 Ruby 的 httparty。你还应考虑如何以安全的方式存储你的凭证。有一些选项可供使用,包括使用环境变量,或者设置一个可在 GitHub 上的 .gitignore 文件中存储的配置文件。
请务必查看我们文档的身份验证部分。如果你丢失了凭证或认为它们可能遭到泄露,你可随时导航到相关应用的“密钥和令牌”部分来重新生成它们。此外,你还可以阅读更多关于安全最佳实践的内容。
步骤 3:塑造数据
你需要调整查询来获得你想要的正确推文。例如,在 TwitterDev 示例中,你需要确保正在对其进行 GET 请求的端点是:
https://api.twitter.com/2/tweets/search/recent?query=from:TwitterDev
此时,你可能想查看我们的示例代码以了解最近的代码:
若要针对自己的用户名进行调整,可将它表示 TwitterDev 的内容更改为其他内容。你也可以调整查询,只包括带有图像或某个话题标签的推文。你可详细了解如何创建查询。退一步想清楚你不想获取哪些推文,这通常很有帮助。然后,你可以确保查询包括适当的逻辑,以排除不需要的推文。
你还需要考虑要获取多少条推文,以及你要找的数据位于哪些字段。默认情况下,你将获得每条推文的 ID 和文本。通过向查询添加其他字段和扩展,你可对此有效负荷进行调整。
你还需要考虑要多少条推文来执行你所想的任务。前 10 条推文可在名为 data
的对象中找到。若要获取更多推文,你需要处理分页。为此,你需要从名为 meta 的对象中访问 next_token
,并进行连接来获取下一组 10 个推文的其他推文对象,直到不再有 next_token
可用为止。一些库和第三方工具可能内置了分页功能。
在塑造数据的过程中,你可能需要采取迭代的方式来调整查询,直到它返回一个符合你目标的有效负荷。有时,使用 Postman 或 Insomnia 等 REST 客户端有助于在开始编写代码之前查看返回的数据并进行调整。我们的 Postman 集合也可能有帮助。
步骤 4:构建任何额外的逻辑或连接到你正在使用的其他 API
具有包含你正在寻找的确切内容的有效负荷后,你现在可以确保代码具有所需的内置逻辑、计时或 API 连接,以执行目标中确定的任务。
以创建一个工作流程触发器为例,当 TwitterDev 推文中出现“重要”和“改变”这两个词时,你需要查看这两个词是否出现在推文文本中,并连接到 API 或库,以便在这两个词出现时向你的工作账号发送一封包含推文文本的邮件。你还需要为此动作设置一个定期发生的时间,比如使用 Cron Job 或 AWS Lambda。对于该示例,你可能想每周执行一次此操作,查看过去一周是否有任何推文提到这两个词。我们有一个类似的代码示例,它会查看“暂停”和“明天”这两个词是否出现在用户名 @NYCASP 的同一个推文中,并向你发送文本。
以对过去一周的推文执行情绪分析为例,你需要创建自己的逻辑来使用 TensorFlow 等库或连接到情绪分析 API。然后,你可能想要对过去一周的推文情绪创建一个数据可视化效果,确定这一周过得有多积极。你可查看一篇博客文章(它指导你如何逐步创建此示例),或者查看代码。
后续步骤