Connpass API を使ってイベント一覧をExcelに出力する:CData Excel Add-in

こんにちは。CData Software Japan リードエンジニアの杉本です。

今回は勉強会の支援プラットフォームとして有名なConnpass APIをExcelから利用する方法を紹介したいと思います。

Connpass とは?

昨今ITエンジニア界隈ではコミュニティ活動が活発です。そんなコミュニティ活動の勉強会・セミナーなどを告知、参加者管理を行うことができる「IT勉強会支援プラットフォーム」がConnpassです。

https://connpass.com/

f:id:sugimomoto:20200520200227p:plain

Connpass では イベントサーチAPIを提供していて、各種キーワードや日付などでイベント情報を取得することができるようになっています。

https://connpass.com/about/api/

f:id:sugimomoto:20200520200234p:plain

このConnpass APIを扱うことができる Driver や ExcelのアドインをCDataでは提供しています!

今回はいくつかある製品の中でも特に扱いやすい製品である「CData Excel アドイン」を通じて、Connpass APIに接続し、イベント情報を取得する方法を紹介したいと思います。

f:id:sugimomoto:20200520200241p:plain

必要なもの

以下の製品を予めダウンロード・インストールしておきます。

CData API Driver は様々なな事前定義ファイル(API Profile)を読み込んで、各種APIにアクセスできるようになっています。なので、今回は Connpass の API Profile をダウンロードしておきます。

接続方法

接続設定は簡単です。CData API Driver for Excelをインストールすると、以下のようにExcel上に「From APIs」というボタンが追加されます。これをクリックして

f:id:sugimomoto:20200520200248p:plain

「Profile」の欄に予めダウンロードしておいたConnpassのProfile「Connpass.apip」のファイルパスを入力します。入力後「Test Connection」をクリックして、問題なく接続できたらOKで保存します。

f:id:sugimomoto:20200520200254p:plain

Eventsデータの取得方法

あとは取得するテーブルを選択します。CData API DriverのProfileには予めどのようなデータが取得できるか、事前定義されているので、APIがよくわからなくてもシンプルに利用できます。

Connpass では 各イベントデータを取得できるEventsテーブルのみが提供されているので、わかりやすいですね。今回はこれを利用します。

f:id:sugimomoto:20200520200259p:plain

そのまま実行しても問題ありませんが、せっかくなので自分の興味があるイベントを取得したいと思います。

Events テーブルには「Keyword」の項目を使って、検索をかけることができます。例えば以下のようにWhere句を指定することで、そのキーワードで検索された結果を取得します。

SELECT * FROM [CData].[Connpass].[Events] Where [Keyword] = 'PowerBI'

f:id:sugimomoto:20200520200309p:plain

「OK」をクリックすると、以下のようにConnpass上でPowerBI関連のイベントが一括で取得できました。

f:id:sugimomoto:20200520200316p:plain

URLやハッシュタグ、参加者数なども確認できます。

f:id:sugimomoto:20200520200324p:plain

そのままURLを開けば、イベントページに飛べるのでいいですね。

f:id:sugimomoto:20200520200332p:plain

さらにそのままピボットグラフを構成すれば、Excel上で簡単にイベント状況の可視化ができます。

f:id:sugimomoto:20200520200339p:plain

Tips API側フィルターが処理できる項目について

CData APIs Driverでは以下の項目でサーバー側フィルターをかけることができるようになっています。

  • EventId
  • Keyword
  • KeywordOr
  • YM
  • YMD
  • Nickname
  • OwnerNickname
  • SeriesId
  • Order

上記以外の項目でWhere句を指定した場合は一度Driverが全件内部で取得してから、フィルタリング処理を行うようになっています。そのため、ConnpassのAPI Limitに抵触しやすくなるので注意しましょう。

おわりに

今回は Connpass APIを紹介しましたが、CData APIs Driverのプロファイルは外にも数多く公開されています。

https://www.cdata.com/jp/apidriver/#profiles

f:id:sugimomoto:20200520200439p:plain

是非気になるProfileをダウンロードして、接続してみてください。

トライアル・お問い合わせ

関連コンテンツ