GoogleアナリティクスのPV数をSlackに自動送信★★☆ – ビジボット

GoogleアナリティクスのPV数をSlackに自動送信★★☆ – ビジボット
GoogleアナリティクスのPV数をSlackに自動送信★★☆ – ビジボット
ビジネス

はじめに

今回のビジボットでは、昨日作成した『Googleアナリティクスのpv数をスプレッドシートに取得』する記事の続きで、取得したデータをビジネスチャットアプリSlackに日時で自動配信するコードを書いていきます!
タイトルではSlackだけですが、メールにも同時に配信していきますのでご安心を!(笑)

GoogleアナリティクスのPV数をスプレッドシートに取得★☆☆ - ビジボット

GoogleアナリティクスのPV数をスプレッドシートに取得★☆☆ – ビジボット

2019年2月18日

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

1.アドオンのスケジュール作成

まずはじめに『アドオン』→『Google Analytics』→『Schedule reports』をクリックして、Google Analyticsの取得データを更新するスケジュールを設定します。

Schedule reports - ビジボット
Schedule reports – ビジボット

設定は『Enable reports to run automatically』をチェックすると更新する日付と時間が指定できます。
今回、更新日は毎日(every day)で、更新時間は10:00~11:00の間でセットしておきます。
※24時に近い時間だとAnalytics側のデータ更新の関係上データにずれが生じる場合があります

更新時間の指定 - ビジボット
更新時間の指定 – ビジボット

2.配信用のシートを作成

配信用のデータは配信しやすいように少し加工して作ります。
まず、アドオンで取得するデータはLimit10を指定して取得します。
※先日ではLimit1000で指定した部分です

その後、取得したデータ(bzbotシートのデータ)を配信用シートに『=ARRAYFORMULA()』関数などを使って取得します。
※取得しないでも前回作成したbzbotシートでそのまま作成しても構いません

ここで作成しておきたい情報は以下です。
※主に配信する用のフィールドが作成できていれば問題ありません

配信用シート – ビジボット

配信フィールドを作成するために、取得したデータからURLを作成し、(-)の中にPV数を表示するように設定します。この時、URLの後ろにそのまま(-)をくっつけてしまうとURLとして認識されてしまうので『半角スペース』空ける必要があります。
このURLを作成しておく理由はこの次の指定が楽になるからです。
作らないとURLとPVをさらにANDでくっつけないといけないので目がチカチカしちゃいます..(笑)

URL&PV数 - ビジボット
URL&PV数 – ビジボット

ここでは上で作成したURL + PV数のデータをCHAR(10)関数と織り交ぜて作っていきます。
CHAR(10)は改行をするときに使う関数です。
今回配信する読み物なので、しっかりと見やすいように記述します。


また、Slackに配信するために<!here>と指定すると、送信したSlackのチャンネルに参加しているメンバー全員に通知を送ることができます。

配信用関数 - ビジボット
配信用関数 – ビジボット

ちなみに『』で始まり、『』で終わることで、Slackではひと固まりのテキストとして以下のように届き、モバイルでみたときも見やすいデザインになります。

Slack送信画像 - ビジボット
Slack送信画像 – ビジボット

3.Slack WebhookURLを取得

次に、以下URLから配信したいSlackのWebhookURLを取得します。
https://slack.com/services/new/incoming-webhook

URLが開くとWebhookURLを作成する画面が表示されるので、進めていきます。

Post to Channel ー ビジボット
Post to Channel ー ビジボット

Post to Channelを指定すると、Webhook URLが生成されます。
これは後ほどGASのソース上で使うのでどこかにメモしておいてください。

Customize NameはSlackで通知するbotの名前です。
※任意項目です

bot名 - ビジボット
bot名 – ビジボット
WebhookURLを指定 - ビジボット
WebhookURLを指定 – ビジボット

Customize IconはSlackで通知するbotのアイコンです。
※任意項目です

Icon名 - ビジボット
Icon名 – ビジボット

指定をしたら『Save Settings』をクリックして完了です!

Save Settings - ビジボット
Save Settings – ビジボット

4.コードの説明

詳しくは以下ドキュメントに記載されています。簡単なところだけまずは説明をしていきます!

https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app

以下はスプレッドシートのIDを指定するverで変数 sheet を指定していますが、他にも様々な指定方法があります。例えば以下とか。

次はSlackに配信するデータをセットします。
この処理は一番下に記載されている『UrlFetchApp.fetch(url, options);』で必要な処理をする為の記述です。

まず、クラスUrlFetchAppはインターネットを介して他のホストと通信する為に使います。

例えば、URLを取得してWeb上の他のリソースにアクセスしたり、スクリプトはURL Fetchサービスを使用して、HTTPおよびHTTPS要求を発行し、応答を受け取ることが可能です!
以前は以下記事で使っているクラスです。

SlackにWebhookURLで指定して送る場合は以下送信方法を覚えておけば良いでしょう(笑)

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

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

2019年2月16日

最後にいつも通りメールで送信するコードを追加してます。
これで、Slackとメールに対して送信するコードが完成しました!

slack message - ビジボット
slack message – ビジボット
mail message - ビジボット
mail message – ビジボット

さて、通知が届いたら最後の仕上げです。自動配信する為にトリガーの追加をします!
トリガーは以下記事から設定手順が書いてありますが、今回は項目が違うので以下に設定箇所を載せます!

Googleフォームの結果を指定したアドレスに送る – ★★☆ Googleフォームの結果を指定したアドレスに送る – ★★☆

Googleフォームの結果を指定したアドレスに送る – ★★☆

2019年2月15日
実行する関数
postSlack
実行できるデプロイ
Head
イベントのソース時間主導型
時間ベースのトリガーのタイプを選択日付ベースのタイマー
時刻を選択アドオンの更新より後を指定しましょう!!

 

トリガーの設定まで終わったら今回の記事は終わりです!明日から自動配信されるはずです!(笑)
最後までお付き合い頂きありがとうございました!