开发一款基于 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)来让我们的应用发布推文。定时任务本质上就是一个自动唤醒程序。
这段代码究竟是如何工作的?
- 该应用将通过 webhook 激活。我们的定时任务会在指定时间向 webhook 发送 ping 请求 ⏰
- 我们的应用程序将连接到 NASA API 🚀
- 该应用会检查 NASA API 提供的媒体是图片 URL 还是视频 URL。如果是图片,我们的应用会下载图片并发布到 Twitter。如果是视频,应用只会发布视频 URL。
先决条件
开始之前,您需要准备以下物品:
-
Twitter开发者账号 -点击此处申请
-
已注册的Twitter 应用-点击此处查看操作方法
-
您的Twitter API密钥和令牌副本-点击此处查看操作方法
-
NASA API 密钥🔑 -点击此处获取
-
定时任务账户 -点击此处注册
一旦你拥有了所有这些,你就可以发射升空啦🚀!
食谱
第一步 - 💿
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



