发布于 2026-01-06 10 阅读
0

开发一款基于 Twitter 的 NASA 应用🚀

开发一款基于 Twitter 的 NASA 应用🚀

本项目托管于 Glitch:https://glitch.com/~dailynasa

NASA每天都会通过其公共API发布一张与天文或空间科学相关的图片。这些图片非常酷,能让你了解我们所居住的奇妙的太阳系!

作为一名天文爱好者,我很好奇如何才能轻松查看这些图像,甚至让它们出现在我的 Twitter 时间线上。于是我开始着手研究,最终开发出了这款全自动的“每日 NASA”应用程序,它会每天自动发布 NASA 发布的图像。

我们的 Node.js 应用会连接到 NASA API,临时存储提供的媒体文件,并通过 Twitter API 发布包含标题和图片/视频的推文。这里有一个示例。非常简单!

在本教程中,我还会向您展示如何使用 Twitter 和 NASA 的 API 构建此应用程序。要查看应用程序的实际运行效果,请访问 Twitter 页面@DailyNASA

我们今天要做什么?

我们的应用程序将托管在Glitch上,所以我们除了确保应用程序配置正确之外,不会做太多其他事情。

项目重混完成后,.env文件的密钥和令牌也配置完毕,我们将安排一个定时任务(cron job)来让我们的应用发布推文。定时任务本质上就是一个自动唤醒程序。

这段代码究竟是如何工作的?

  1. 该应用将通过 webhook 激活。我们的定时任务会在指定时间向 webhook 发送 ping 请求 ⏰
  2. 我们的应用程序将连接到 NASA API 🚀
  3. 该应用会检查 NASA API 提供的媒体是图片 URL 还是视频 URL。如果是图片,我们的应用会下载图片并发布到 Twitter。如果是视频,应用只会发布视频 URL。
    • 视频📹 - 该应用会保存视频 URL 和标题,并通过 Twitter状态/更新端点发布到 Twitter。以下是一个示例
    • 图片📷 - 应用会将图片保存到临时目录,并通过 Twitter状态更新端点发布到 Twitter。这里有个示例。因为是临时目录,所以我们不用担心空间不足(双关语)🥁

先决条件

开始之前,您需要准备以下物品:

一旦你拥有了所有这些,你就可以发射升空啦🚀!

食谱

第一步 - 💿

a) 在我们的Glitch 项目页面上,重新混音这个项目!点击此页面左上角的“重新混音项目”按钮。

混音版

b) 给你的应用命名。

我把我的也叫做我。dailynasa

姓名

步骤 2 - 🔑

A) 在项目.env文件中输入您的 Twitter 应用密钥和令牌

钥匙

B) 在项目.env文件中输入您的 NASA API 密钥

C) 给你的应用端点命名

例如,如果我给我的文件添加标签wakeup,你的.env文件应该看起来像这样:BOT_ENDPOINT='awaken'。我的最终端点将如下所示:https://dailynasa.glitch.me/wakeup

🚨重要提示 - 请务必妥善保管所有访问密钥、令牌和端点名称 🚨

第三步——测试!测试!!

现在您已经配置好了我们的应用程序,让我们来测试一下。

我通常建议在“工具”→“日志”中查看日志,以验证我们的应用程序在唤醒时是否运行。

在新浏览器窗口中,输入您的唯一端点 URL 并按回车键。(您也可以使用以下命令通过命令行测试 URL:)curl https://dailynasa.glitch.me/wakeup

稍等片刻,您应该就能在您的 Twitter 帐户上看到 NASA 每日推文了!

既然你已经验证了它的有效性,那么让我们确保它能够自动化,这样你就不必每天都重复这项工作了。

第四步 - ⏰

我们将使用cron-job.org来 ping 我们的端点,并使我们的应用程序每天发布一条推文。

创建一个新的定时任务,并按如下方式填写页面:

定时任务

🚨重要提示 - 频繁设置应用运行频率可能会被视为垃圾信息,并导致违反 Twitter 的自动化政策。🚨

作业运行完毕后,您可以在此页面查看响应

就这样,我们完成了!

恭喜!

你做到了!😎

如果您喜欢通过教程学习或有任何疑问,请访问Twitter 社区论坛

文章来源:https://dev.to/xdevs/build-a-twitter-nasa-app-57kb