今回はタイトル通り、
毎日星座占いの結果をAPIで取得して、それを指定したメールアドレス宛に送信する方法を紹介したいと思います。
以下記事で詳しく紹介してます!
https://bzbot.work/
紹介記事
今回紹介している記事は以下です!
https://bzbot.work/2019/02/16/gas-seiza/
今回は外部サイトの無償APIを使って本記事を書かせてもらってます。
まず、http://jugemkey.jp/api/waf/api.php のサイトにAPIの仕様書があるので、この指定通りに書くコードを追加していきます。
※色々と規約があるので必ず確認してください
以下ログ出力系の指示を書いています。
実際のコード - ビジボット
//API仕様書 : http://jugemkey.jp/api/waf/api.php
function myFunction() {
//今日の日付をAPIパラメータ用にバラバラに取得
var date = new Date();
var dateY = Utilities.formatDate( date, 'Asia/Tokyo', 'yyyy');
var dateM = Utilities.formatDate( date, 'Asia/Tokyo', 'MM');
var dateD = Utilities.formatDate( date, 'Asia/Tokyo', 'dd');
var ymd = dateY + '/' + dateM + '/' + dateD;
Logger.log('date:' + date);
var jApi = 'http://api.jugemkey.jp/api/horoscope/free/' + dateY + '/' + dateM + '/' + dateD;
Logger.log('jApi:' + jApi);
//APIをfetchする
var response = UrlFetchApp.fetch(jApi);
var json=JSON.parse(response.getContentText());
Logger.log('jApi:' + jApi);
//[牡羊座:0][牡牛座:1][双子座:2][蟹座:3][獅子座:4][乙女座:5][天秤座:6][蠍座:7][射手座:8][山羊座:9][水瓶座:10][魚座:11]
var seiza = 2;
//イケてない記述ですが、配信内容を取得
var content = '占いの内容 -- ' + json["horoscope"][ymd][seiza]["content"];
var item = 'ラッキーアイテム -- ' + json["horoscope"][ymd][seiza]["item"];
var money = '金運(5段階) -- ' + json["horoscope"][ymd][seiza]["money"];
var total = '総合運(5段階) -- ' + json["horoscope"][ymd][seiza]["total"];
var job = '仕事運(5段階) -- ' + json["horoscope"][ymd][seiza]["job"];
var color = 'ラッキーカラー -- ' + json["horoscope"][ymd][seiza]["color"];
var love = '恋愛運(5段階) -- ' + json["horoscope"][ymd][seiza]["love"];
var rank = 'ランキング -- ' + json["horoscope"][ymd][seiza]["rank"];
var sign = '星座 -- ' + json["horoscope"][ymd][seiza]["sign"];
//イケてない記述ですが、メールに送信する本文を指定してます
var contents = sign + '\n' + rank + '\n' + content + '\n' + total + '\n' + money + '\n' + job + '\n' + love + '\n' + item + '\n' + color;
Logger.log('占いの内容 -- ' + json["horoscope"][ymd][seiza]["content"]);
Logger.log('ラッキーアイテム -- ' + json["horoscope"][ymd][seiza]["item"]);
Logger.log('金運(5段階) -- ' + json["horoscope"][ymd][seiza]["money"]);
Logger.log('総合運(5段階) -- ' + json["horoscope"][ymd][seiza]["total"]);
Logger.log('仕事運(5段階) -- ' + json["horoscope"][ymd][seiza]["job"]);
Logger.log('ラッキーカラー -- ' + json["horoscope"][ymd][seiza]["color"]);
Logger.log('恋愛運(5段階) -- ' + json["horoscope"][ymd][seiza]["love"]);
Logger.log('ランキング -- ' + json["horoscope"][ymd][seiza]["rank"]);
Logger.log('星座 -- ' + json["horoscope"][ymd][seiza]["sign"]);
var address = 'ここに送信するアドレスを指定します!';
var title = ymd + 'の占いです';
GmailApp.sendEmail(address, title, contents);
}
結果のログ
[19-02-16 03:14:10:994 JST] date:Sat Feb 16 2019 03:14:10 GMT+0900 (JST)
[19-02-16 03:14:10:994 JST] jApi:http://api.jugemkey.jp/api/horoscope/free/2019/02/16
[19-02-16 03:14:11:391 JST] [{love=4, item=化粧水, total=3, money=4, color=グリーン, sign=牡羊座, rank=6, job=3, day=16, content=美容にお金と時間をかけると、効果が出やすい日。エステやマッサージで気持ちよく心と体をリフレッシュできそうです。}, {love=2, item=日記帳, total=1, money=2, color=ゴールド, sign=牡牛座, rank=12, job=1, day=, content=忘れ物には要注意。出かける前に荷物のチェックをしておきましょう。交通機関の中でも、荷物は手から離さないほうが無難。}, {love=5, item=写真集, total=5, money=5, color=グレー, sign=双子座, rank=2, job=4, day=, content=恋人と楽しくデートができる日。嬉しい時は、口に出して喜びを伝えて。片思いの人は、大胆な行動をしてみましょう♪}, {love=4, item=封筒, total=4, money=4, color=ピンク, sign=蟹座, rank=5, job=3, day=, content=忙しい仕事でも、無理はしないほうが身のためです。心を落ち着けて、正確に状況を見つめれば、最善の対応ができます。}, {love=5, item=美容に関する本, total=5, money=5, color=ブラック, sign=獅子座, rank=1, job=5, day=, content=運気は好調。恋人はあなたが知らないところで、サプライズの準備中です。何よりもプライベートの時間を最優先して問題なし!}, {love=2, item=リップクリーム, total=2, money=2, color=イエロー, sign=乙女座, rank=11, job=2, day=, content=必死に働いても、期待した結果を出すのは困難。計画通りに終わらなくても、また明日やろう、という切り替えが大事。}, {love=3, item=ファンデーション, total=3, money=3, color=シルバー, sign=天秤座, rank=8, job=3, day=, content=献身的な行動が、あなたの魅力を高めます。今日は好きな人に、いいアピールができるでしょう。シックな装いがポイントに。}, {love=3, item=トレーナー, total=3, money=3, color=レッド, sign=蠍座, rank=7, job=4, day=, content=カルチャースクールに行ってみるなど、勉強に費やす時間が大切な日。興味を持ったことがあるなら、ぜひ実践に移してみて。}, {love=5, item=メイクポーチ, total=4, money=5, color=パープル, sign=射手座, rank=3, job=4, day=, content=年上の友達との縁がある日。誘われた用事は、ためらわずにぜひ参加を。あなたの将来に役立つ出来事がありそうです☆}, {love=2, item=ロールケーキ, total=2, money=2, color=オレンジ, sign=山羊座, rank=10, job=3, day=, content=人の出入りが激しい場所に立ち寄ると、運気がアップする予感。デパートや映画館などに、恋人を誘って出かけてみて。}, {love=3, item=うめぼし, total=3, money=3, color=ホワイト, sign=水瓶座, rank=9, job=2, day=, content=早朝の散歩など、体を動かすことに興味を持ってみて。たっぷり汗をかくと、仕事や学業のモチベーションが生まれます。}, {love=4, item=絵葉書, total=4, money=4, color=ブルー, sign=魚座, rank=4, job=5, day=, content=朝から忙しくなりそうな一日です。苦手な仕事を率先して引き受けると、新たな可能性が広がるかも。常に笑顔を心がけて♪}]
[19-02-16 03:14:11:391 JST] 占いの内容 -- 恋人と楽しくデートができる日。嬉しい時は、口に出して喜びを伝えて。片思いの人は、大胆な行動をしてみましょう♪
[19-02-16 03:14:11:392 JST] ラッキーアイテム -- 写真集
[19-02-16 03:14:11:392 JST] 金運(5段階) -- 5
[19-02-16 03:14:11:392 JST] 総合運(5段階) -- 5
[19-02-16 03:14:11:393 JST] 仕事運(5段階) -- 4
[19-02-16 03:14:11:393 JST] ラッキーカラー -- グレー
[19-02-16 03:14:11:393 JST] 恋愛運(5段階) -- 5
[19-02-16 03:14:11:394 JST] ランキング -- 2
[19-02-16 03:14:11:395 JST] 星座 -- 双子座