インド占星術をプログラムで ①

クラウドとAIを使ったあれこれを紹介していく記事

インドには、Vedic Astrology - 日本語ではインド占星術 - として知られる体系的な予測のテクニックがあります。インドのIT開発者のサイトには、インド占星術の様々な計算を行うソフトウェア製品を販売したり、また他の開発者もプログラムから利用できるようなAPIを提供しているサイトもあることがわかりました。そこで、この記事のシリーズで、インド占星術をプログラムで使う方法を紹介しようと思います。

いくつか類似のサイトがありますが、今回は、astrologyapi.com さんのサイトの例です。googleのアカウントを取得していますので、以下のサイトにGoogleのアカウントでLoginします。


ログイン後の流れは以下のようになります。
①インド占星術か西洋占星術かを選択
②「Enter your domain/app name 」に、自分のアプリを配置予定のURLを入力します。この時点では実在するかどうかはチェックしないようなので、仮の文字列で入力しても通るようです。
③submit my 14 days free trial の緑色のボタンをクリック
④この後、プログラムで使用する userId,apiKey が画面に表示されます。
⑤その次に進むと、ダッシュボード画面
⑥ここは、色々とライセンスの状況を管理する画面


⑦それぞれのapiの説明とプログラムの記述例をダッシュボードからも調べることができます。
 ここには、javascript とPHPの例があります。以下のGithubにもそのサンプルがあります。

では、さっそく、サンプルのtest.jsを使ってjavascriptでサンプルを動かしてみましょう。
javascriptを動かすには、node.jsなどの環境が必要です。

私のローカルのパソコン(Windows 10)に、node.js をインストールします(今回、その手順は割愛)

※Node.jsなら、AmazonのCloud 9 やラムダでプログラムを動かすこともできます。

そのままtest.jsを実行すると、axios が無い、という意味のエラーがでましたので
以下のように axiosを使ったコードを埋め込んでみます。
birth_detailsという関数を使った場合の実行例です。

以下、今回試したコード

var api = 'birth_details';
var userId = 'XXXXX';
var apiKey = 'XXXXX';
var data = {
  day: 6,
  month: 1,
  year: 2000,
  hour: 7,
  min: 45,
  lat: 19.132,
  lon: 72.342,
  tzone: 5.5
};
console.log("test")
var auth = "Basic " + new Buffer(userId + ":" + apiKey).toString("base64");

// axios ライブラリをロード
const axios = require('axios');

// axios を使ったコード
axios({
    method: 'post',
    url: "https://json.astrologyapi.com/v1/" + api,
    headers: {
        'Authorization': auth,
        'Content-Type': 'application/json'
    },
    data: JSON.stringify(data)
})
.then(function (response) {
    console.log(response.data);
})
.catch(function (error) {
    console.log(error);
});

以下、実行結果の画面キャプチャ
緑色の文字ででているところが、プログラムが計算して回答した箇所

こうしたコードを最終的にスマホからも実行できるアプリに育てていきます。続きはまた将来の記事で。

この記事が気に入ったらサポートをしてみませんか?