Googleスプレッドシートで『今日の運勢』を毎日メールする★☆☆ – ビジボット

Googleスプレッドシートで『今日の運勢』を毎日メールする★☆☆ - ビジボット
Googleスプレッドシートで『今日の運勢』を毎日メールする★☆☆ - ビジボット
ビジネス

便利なGASレシピ集!に戻る場合は以下から

便利なGASレシピ集! – [2019年最新版]

2019年5月22日

はじめに

今回のビジボットでは、GoogleスプレッドシートのGASボタンを押すたびに大吉が出たり、凶が出たりするあみだくじを作ろうと思ったのですが、GASの内容があまりにシンプル過ぎたので毎日星座占いの結果をAPIで取得して、それを指定したメールアドレス宛に送信する。って処理を書いていきます!
※あみだくじだけのパターンはまた今度作ります!笑

それでは早速始めていきます!

1.完成コード

まずはログ出力ソースを入れてるverです。
後から入れるのがコピペで簡単にできるように用意しました!
詳細については後ほど説明していきます!

ログ出力ありのコードを実行した際のログ情報です。
該当変数にはどういった値が入っていて、得られた結果はどういうものかを把握しながら進めましょう!

ちなみに今回はJSON形式で結果が帰ってくるので、それを取得できるようにする必要があります!

ログ出力の記載がないverのコードです。

2.コード説明

今回、こちらのサイトで無償提供されているAPIを使って本機能を作ってみました。
利用の条件がありますので、商用利用する場合は有料版を使うようにしてください。
http://jugemkey.jp/api/waf/

API仕様書 : http://jugemkey.jp/api/waf/api.php

API仕様書の中でパラメータを見るとGETで指定するだけで希望する情報が取得できるようです。
今回指定するのはyyyy形式のyearと、MM形式のmonthと、dd形式のdayの3つです。

毎日の占いを自動配信する場合、それらを取得して変数に用意する必要が出てきます。
指定URL:http://api.jugemkey.jp/api/horoscope/year/month/day

上記処理でLogger.log()の処理が入っているので、以下にログ結果を載せておきます。
今回の記載でdateでは日付情報が取れているので、あとは形式を指定して変数にセットし、該当変数をAPIにセットします。
APIの結果ではしっかりと本日の日付が入っていることが確認できます!

UrlFetchApp.fetch()で、APIの結果を呼び出すコードを記述しています!
これを実行すると結果のJSONデータが変数 response に入ります。

その結果を出力したログがあるので、ログも記載しておきます。

※json形式のデータを出力するためにはJSON.parse(response.getContentText())で指定した変数に入れて、取り出し方は配列と同じです

JSON形式の情報が全て詰め込まれてレスポンスがあるので、この中から必要な情報を抜き取る指示をしていきます。

ログであった様々な情報から、必要な情報を取得します。
まず、変数 seiza に自分の星座番号を入れます。
※私は双子座なので2を選択してます

さらに一つずつの要素の取り方ですが、json[”horoscope”][ymd][seiza][”********”]で取得することができます。***の部分はそれぞれ指定を変更できないので、このコードで指定している情報をそのままお使いください。

ここでメールに送信する情報をセットします。
コンテンツはそれぞれ改行する処理を追加して、それを変数 contents に集約してます。

これらを問題なくセッテイングできた場合、再生マークを押してプログラムを実行すると、問題なく送信できれば以下情報が届きます。

※始めてスプレッドシートを作成している場合はGmailなどのアプリに連携のテストが届きます

占いメール - bzbot(ビジボット)
占いメール – bzbot(ビジボット)

3.毎日自動配信する設定

毎回占い内容が届くようにするには、トリガーでセットしてあげる必要があります。
トリガーの設定記事は↓↓↓

前回の画像で申し訳ないですが、以下部分よりトリガーを開きます。

トリガー追加 - bzbot(ビジボット)
トリガー追加 – bzbot(ビジボット)

まずは右下の『トリガーを追加』を選択し、ポップアップウィンドウを表示させます。
ここでは実行する関数や、イベントソースの選択やイベントの種類を指定する必要があります。
それらを終えたら『保存』をクリックします。

実行する関数
submitForm
実行できるデプロイ
Head
イベントのソース時間主導型
時間ベースのトリガーのタイプを選択日付ベースのタイマー
時刻を選択配信したい時間をセット

トリガーリスト - ビジボット
トリガーリスト – ビジボット

設定完了すると、指定した時間にメールが届くようになります!
トリガーの設定を忘れなければコピペで実装できる機能なのでぜひお試しください!
以上で「Googleスプレッドシートで『今日の運勢』を毎日メールする」は完了です!

最後までお付き合い頂きありがとうございました!