google app scriptでconnpassの新着イベントをメール


これ何?

connpassのページをいちいち開いて検索するのが面倒だったのでconnpassのapiとgasを利用して新着イベントを定期的にメール送信するスクリプトを書きました。

使用するapiのパラメータ

パラメータ名 説明
count 取ってくるイベントの個数
keyword_or イベントのタイトル、キャッチ、概要、住所をOR条件部分一致で検索
order 検索結果の表示順(3が新着順)

詳しくはAPI リファレンスを参照

コード

function myFunction() {
  //キーワードから開催している都道府県を限定
  var keyword_or = 'keyword_or=東京&keyword_or=埼玉'

  //新着順
  var order = 'order=3'

  //上位25件を取得
  var count = 'count=25'

  var url = 'https://connpass.com/api/v1/event/?' + keyword_or + '&' + order + '&' + count

  var json = UrlFetchApp.fetch(url).getContentText("UTF-8");

  var j = JSON.parse(json);

  var events = j.events

  var title = 'Connpass新着イベント';

  var text = '★新着イベント★\n\n----------------------------------------------------------------------------\n';

  for(i in events){
    text = text + 'title : ' + events[i]['title'] + '\n';
    text = text + 'catch : ' + events[i]['catch'] + '\n';
    text = text + '開催日時 : ' + events[i]['started_at'] + '' + events[i]['ended_at'] + '\n';
    text = text + '開催場所 : ' + events[i]['address'] + events[i]['place'] + '\n';
    text = text + events[i]['event_url'] + '\n\n';
  }

  text = text + '----------------------------------------------------------------------------\n';

  MailApp.sendEmail('[email protected]', title, text);
}

定期実行にする

  1. スクリプト編集の画面から編集>現在のプロジェクトのトリガーを選択

  2. トリガーを追加を押下して以下のような感じで定期実行にする