connpassのイベントを記録&統計をとってみる

フォローする

(著者:サイボウズ 後迫 孝

サイボウズが主催しているkintoneの勉強会『kintone devCamp』では、オープンなIT勉強会・イベント支援サイト 『connpass』 を利用しています。 connpassには数多くのイベントが作成されており、とても便利に活用させていただいています。(詳細は後述)

今回は、connpass API を利用して検索時点の申し込み数や定員をkintoneに記録し、統計をとってみたいと思います。

利用したkintone API

connpass

connpass は、人をつなぐ IT勉強会・イベント支援サイトというコンセプトで、IT系の勉強会に向けに活用されています。
こちら画像は、私たちが運営する『kintone devCamp』です。

こちらが、connpass の特徴です。

  • 勉強会の申し込みページが無料で作れる
  • TwitterやFacebookで連携して新着を確認できる
  • Slideshareやホームページの発表資料をまとめられる
  • 日単位のイベント統計ができる
  • 参加者のためのiPhoneアプリがある
  • Paypalを使った有料(前払い)イベントができる

ほか、たくさんの魅力あるサービスです。

kintoneでアプリを作る

アプリのフィールド

フィールドの種類 フィールド名/フィールドコード 注意事項 説明
文字列(1行) Keyword 必須項目 入力されたキーワードを元に検索する。
日付 Date 省略可 入力された日を開催日として検索する。
テーブル Table   connpassイベントを格納するテーブル。
日時 StartDateTime テーブル内のフィールド  connpassイベントの開始日時。
日時  EndDateTime テーブル内のフィールド  connpassイベントの終了日時。
リッチテキスト Title テーブル内のフィールド 

connpassイベントのタイトル。
イベントのタイトルをリンク化しているため、リッチテキストにする。 

数値 Accepted テーブル内のフィールド  connpassイベントの参加者数。
数値 Limit テーブル内のフィールド  connpassイベントの定員。
文字列(1行) SubTitle テーブル内のフィールド  connpassイベントのタイトル。
イベントごとのグラフを作成したいため追加。
※リッチテキストはグラフでグルーピングできない。
計算 SumAccepted 計算式:SUM(Accepted) 参加者数の合計。
計算 SumLimit 計算式:SUM(Limit) 定員の合計。
計算 AcceptedRate 計算式:SumAccepted/SumLimit*100 参加率。
数値 EventCount   connpassイベント検索結果の件数。

※フィールド名とフィールドコードは同じ名称にしています。

フォームのイメージ

グラフのイメージ

たまったデータをkintoneのグラフで集計する。

 

プログラムと解説

プログラム

解説(ハマるポイント)

テーブル行への値設定

  • 数値フィールドが空白の場合、グラフで正常に集計されないため「0」を指定しています。
  • テーブルに値を追加する際には、値の他にフィールドタイプを指定(仕様)しています。

外部API実行後のPromiseを利用

  • 外部APIの実行結果を反映するために、kintone.Promise を利用します。この関数を使うと良い利点です。
    • XHRによる同期リクエストが非推奨(Firefox等ではコンソールに警告が出る)である
    • IEでは全くネイティブでPromiseがサポートされていない
  • kintone.Promise を使う際にには、最低限次の記述も付けましょう。
    • then … 実行結果を処理する
    • catch … 実行失敗時を処理する

まとめ

勉強会では集客が気になるところですので、このように公開されているAPIを利用し、kintoneに貯めることで、さまざまな確度からの分析ができると思います。
ただ、毎日手動で登録していたので、定期実行がkintoneで実現できると良いですね。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。
Powered by Zendesk