
今回は職場の同僚のリクエストにより「MarkeZineの新着記事を取得し、チャットワークに送る」という仕組みをご紹介したいと思います。
MarkeZineといえば言わずと知れたマーケティング情報の発信サイトですね。定期的にチェックしているマーケターの方も多いのではないでしょうか。
自分ひとりで見るならRSSリーダーを使うなり、公式SNSアカウントをフォローするなりすればいいのですが、社内の部署やチームで情報を共有してディスカッションするために、本連載ではチャットワークのグループチャットに情報を送るという方法を選択しています。
本連載の概要については下記の記事をご参照ください。
「忙しいマーケターのためのプログラミング入門」の連載を開始します!
1. Google Apps Script と ChatWorkの設定
MarkeZineのエントリーは Google Apps Script を利用して取得し、チャットワークへ送ります。忙しいマーケターのためのプログラミング入門 – チャットワークAPI編を参考に、Google Apps Script とチャットワークの設定をしておきます。
2. プログラムコードの設定
Google Apps Script に、上記のプログラムコードを貼り付けます。その後コードの中に2箇所ある「xxxxx」の部分を書き換えます。
token(8行目のxxxxxの部分): チャットワークのAPIトークンを指定
room_id(10行目のxxxxxの部分): チャットワークのルームIDを指定
プログラムの流れは下記のようになっています。
1.MarkeZine新着記事のRSSフィードを読み込む
2.読み込んだ記事の中から「公開日が昨日」かつ「PR記事以外」を絞り込む
3.チャットワークへ記事内容を送る
3. プログラムの実行
Google Apps Script を実行し、チャットワークに投稿されることを確認します。
うまくいかない場合は下記記事を見て設定が間違っていないか確認してください。
忙しいマーケターのためのプログラミング入門 – Google Apps Script 準備編
忙しいマーケターのためのプログラミング入門 – チャットワークAPI編
5. トリガーの設定
処理が定期的に実行されるようにトリガーを設定します。毎朝起動させて、前日の記事をチェックするという流れがおすすめです。
トリガーの設定方法は、忙しいマーケターのためのプログラミング入門 – Google Apps Script 準備編の中の「5.トリガーの設定」を参考にしてください。
コード解説
//記事の公開日付を取得 var pubDate = new Date(items[i].getChild("pubDate").getText()); var pubYmd = '' + pubDate.getFullYear() + (pubDate.getMonth() + 1) + pubDate.getDate();
ここではRSSフィードの中にある「pubDate(公開日)」を取得しています。
この日付と昨日の日付を比較し同じであればチャットワークに送るのですが、RSSフィード内では日付が「Fri, 11 Sep 2015 17:15:00 +0900」という形式で記載されており、日付の比較がしにくくなっています。
比較をしやすくするために「20150911」という形式に変換をおこないます。「getFullYear」は年を、「getMonth」は月を、「getDate」は日を取得する処理で、それらをつなぎあわせました。年月日は数字なのでそのまま足すと「2015 + 9 + 11 = 2035」という形になってしまいますので、それを回避するために空白文字「”」を先頭に足しています。
//昨日公開された記事かつPR記事でない場合はチャットワークに送る if (pubYmd == yesterday && title.indexOf('PR:') == -1) {
「pubYmd == yesterday」の部分で「公開日が昨日である」という比較をしています。そしてPR記事かどうかを判別するために「indexOf」という関数を使ってタイトルに「PR:」が含まれているかを判定しています。これらの二つの条件をどちらも満たすというAND条件の演算子として「&&」を使います。
マーケティング情報収集&共有の効率化のためぜひ活用してみてください。
MarkeZine以外にもよさそうなサイトがあれば追加していきたいと思いますので、ご要望があればコメントに残すかTwitterでご連絡いただければと思います。
【関連リンク】
忙しいマーケターのためのプログラミング入門 – Google Apps Script 準備編
忙しいマーケターのためのプログラミング入門 – チャットワークAPI編
忙しいマーケターのためのプログラミング入門 – Google Analytics API 設定編
忙しいマーケターのためのプログラミング入門 – Googleアラート×ChatWork編
忙しいマーケターのためのプログラミング入門 – はてブ×ChatWork編
LEAVE A REPLY