apod

0.3.0 • Public • Published

apod.js

A small JS wrapper around NASA's APOD API.

To use this, you'll need an api.data.gov API key - you can request one here: https://data.nasa.gov/developer/external/planetary/#apply-for-an-api-key

Installation

$ npm install apod

Usage

var apod = require("apod");
 
apod.apiKey = "YOUR_API_KEY";
 
function callback(err, data) {
  // do cool stuff with APOD data here
}
 
// get today's APOD
apod(callback);
 
// APOD for December 31, 1999 (JS has 0-indexed months)
apod(new Date(1999, 11, 31), callback);
 
// the same
apod(1999, 11, 31, callback);
 
// once more, with feeling
apod("December 31, 1999" callback);
 
// get a random APOD
apod.random(callback);

Assuming success, all methods trigger the callback with an object like the following, direct from NASA's API:

{
  "concept_tags": true,
  "title": "The Millennium that Defined Earth",
  "url": "http://apod.nasa.gov/apod/image/9912/earthrise_apollo8.jpg",
  "explanation": "When the second millennium began, people generally knew that [...]",
  "concepts": {"0": "Galaxy", "1": "Milky Way", "2": "Earth", "3": "Solar System", "4": "Universe", "5": "Sun", "6": "Planet", "7": "Gravitation"},
  "date": "1999-12-31"
}

HTTPS Proxy

Sending via an HTTP/HTTPS proxy is supported. Just set the environment variable https_proxy and it will be used when making requests to the API. Alternatively, set the apod.proxy string.

Here's examples of both usage patterns:

$ https_proxy="https://my.secure.proxy" node script.js
// script.js
apod.proxy = "https://my.secure.proxy"

Version History

Version Notes
0.2.0 Update endpoint URL, remove concept_tags
0.2.0 Add support for HTTPS proxy, refactors.
0.1.0 Interface change, use new NASA APOD API
0.0.1 Initial release

License

MIT. For more details, see the LICENSE file.

Readme

Keywords

none

Package Sidebar

Install

npm i apod

Weekly Downloads

1

Version

0.3.0

License

MIT

Last publish

Collaborators

  • andrewstewart