Me: The sky is not the limit ☁️
Stranger: Pics or I don't believe you 🙄
Based on the above conversation, I'm going to show you how to get NASA's highly coveted Astronomy Picture of the Day (APoD) with Standard Library 🌑 ⭐️
If you're not familiar with Standard Library, we're a serverless platform that enables everyone (yes, everyone! Calling all PMs, designers, marketing teams, sales people, oh and engineers… 🙋) to build, ship, and integrate scalable APIs in a matter of seconds. With the help of our online text editor, Code.xyz, you can do all of this right from your browser.
Requirements
Standard Library account (free)
NASA API key (free)
Standard Library provides a plethora of API templates that are readily usable. In order to retrieve the APoD API template, go to Code.xyz and search for astronomy-picture-of-the-day by @eileenzhong 💁
One last step before sending the APoD to your phone!
You'll need to properly configure the env.json
file. You'll notice that there are two sets of variables; however, we will be deploying our code to the dev environment, so we will only need to provide the dev variables.
First, insert your Standard Library library token (STDLIB_LIBRARY_TOKEN
):
Then, insert your NASA API key. When finished, your env.json
file should look like this:
That's all the setup you have to do!
To run the program, click "Debug" to bring the parameter input area into view. Enter your phone number, including the country code:
When you click "Run", you'll receive NASA's astronomy picture of the day! 🚀
That's not even the coolest part.
We don't want to click "Run" every single day to get this text delivered to our phone. Thankfully, Standard Library has a task scheduler where you can customize a schedule to automagically invoke your newly created API.
In Code.xyz, click the "Tasks" tab. You can then enter a phone number and customize a schedule to your liking:
Suggestion: schedule the task to execute once a day since APoD is an acronym for astronomy picture of the day, and hence, the picture won't change throughout the day.
When you're happy with the settings, click the blue "Schedule Task" button to schedule your API.
That's it! If you know one ☝️, two ✌️, or five 🖐 other people who would appreciate a daily astronomy picture, you can schedule a different task (one for each phone number) for all of them.
Bonus section
If you've made it this far, you deserve a reward 🌈 Now, don't get too excited (actually - do get excited 🙃). With just 2 more lines of code, you can send your friend a random quote along with the APoD!
We'll be using WordPress's API to pull a randomized quote: http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1
.
Don't worry about all the RegEx (regular expressions) sitting on line 12. The WordPress API just returns some HTML tags that won't play nicely in an MMS 📱
Alternatively, you can just replace the value of the quote variable with any chunk of text you'd like to send your friend: const quote = "Hi friend."
Questions, comments, ideas? Feel free to email me at eileen@stdlib.com! I'd love to hear about your next project with Standard Library and Code.xyz.
Eileen is a software engineer at Standard Library.
Top comments (4)
This was fun and fairly simple!! Great instructions! I set it up and now I'm waiting to see if I get my text today!! Thanks!!
UPDATE: It's working beautifully!! I've gotten a text everyday and the pics are amazing!!
Cool!
This is awesome!
I logged in to shut this down today because I didn't want to hog someone else's service when I can just browse the photo on NASA's app. Trying to be sensible, you know.
As it turns out, I still haven't used my first full dollar for this little project, and, in fact, there are approximately 81,500 requests left on that account. At one per day, I'll be getting this photo at 6 a.m. for the next 223 years. What a bargain!