Google Apps Script 使ってみた!

64 view

こんにちは、制作部のゆーたです。

今回は「IT関連の勉強会に参加したいけど情報多くて全部追いきれない……ならBotで取得できるようにしよう!」というお話です。

とりあえずの目標は「勉強会の情報を取得して、Chatworkに自動投稿」すること。

手軽に始められそうなGoogle Apps Scriptで実装してみました。

Google Apps Scriptって?

割と前からある技術なので、ご存知の方も多いのではないでしょうか。

ざっくり説明しますと、Googleが提供するJavaScript開発環境のことです。
Googleアカウントを持っていて、ある程度JavaScriptの知識がある方なら簡単に始められます。

そのままだと名前が長いので、下記ではGASと呼称します。

さっそく使ってみよう

Googleドライブの「新規」ボタンをクリックし、「その他」から「Google Apps Script」を選びます。

見つからない時は、「アプリを追加」から「Google Apps Script」を追加してください。

するとエディタが表示されるので、プロジェクト名とファイル名を変更して保存しましょう。

とりあえず保存

ここからコードをゴリゴリゴリ……

ゴリゴリゴリ………

できました。

完成した「勉強会の情報を取得して、Chatworkに自動投稿」するプログラムのコードがこちらです。

function MyTechPlayTodaysRanking() {

	// Chatwork トークン
	var api_token = 'XXXXXXXXXXXXXXXXXXXXXX';
	var room_id   = 00000000;
	var cw = ChatWorkClient.factory({token: api_token});

	// TECH PLAY API
	var json_url = 'https://api.techplay.jp/v1/ranking/event?token=XXXXXXXXXXX';
	var json = UrlFetchApp.fetch(json_url).getContentText();
	var jsonData = JSON.parse(json);
	var ranking = jsonData.ranking;

	// 今日の日付
	var date  = new Date(); 
	var month = date.getMonth()+1;
	var week  = date.getDay();
	var day   = date.getDate();
	var youbi = new Array("日","月","火","水","木","金","土");

	var today = month + '/' + day + '(' + youbi[week] + ')';

	var message = '【TECH PLAY】' + today + ' イベントランキング\n\n';

	// イベントランキングを10位まで表示
	for( var i=0; i<10; i++ ) { 
		var title = ranking[i].title;
		var event_url = ranking[i].event_url;
		
		message += (i+1) + '. ' + title + '\n';
		message += event_url + '\n\n';
	};

	// Chatworkへ送信
	cw.sendMessage({room_id: room_id, body: message});
}

IT勉強会・セミナーの情報を取り扱っている『TECH PLAY』さんがAPIを無料提供していたので、今回使わせていただきました。
TECH PLAY API

上記のコードをgsファイルで保存し、実行ボタンをクリックすると、
TECH PLAYのデイリーイベントランキングを取得し、Chatworkに自動投稿してくれます。

今回はBot化するまでが目標なので、「毎週月曜の朝、グループチャットへ自動投稿」するよう設定します。

トリガーを設定しよう

自動投稿を実現するために、GASのトリガー機能を使います。
赤枠で囲ったアイコンをクリックすると、トリガー設定画面が表示されます。

トリガー設定ボタン

「実行する関数」を選択、そしてイベントの種類を「時間主導型」にし、
「週タイマー」「毎週月曜日」「午前8時〜9時」と選択していきます。

これで、先程の関数が毎週月曜の朝に自動で走り、Chatworkにイベントランキングを投稿してくれるようになりました。

こんな感じ。

まとめ

とりあえずAPIとGASを使って、情報の取得を自動化するところまでやってみました。
RSSやWrikeとも連携できれば、情報収集や業務の効率化に繋がりそう。

今回の件でGASに可能性を感じたので、今後も継続して触っていこうと思います。

Let’s enjoy GAS!!!!!!!!

\ SNSでシェア /

WRITER

ゆーた

制作 ゆーた

新潟生まれ新潟育ちの24歳。

現在は制作部として奮闘中。たまにカメラも構える。
体力なさそうなのはデフォルトです。

TAGS