connpass API で広くイベントを検索したいなぁと思ったらちょっとハマったのでメモ書きです。
connpass API の仕様
connpass API はこちらに記載があります。
connpass.com
今回は検索クエリの "keyword_or" を利用します。
複数キーワードをOR検索できます。
また、期間を絞りたいので 検索クリエパラメーターの"ym"で開催年月で検索範囲を絞ります。
フローの全体像
変数の初期化で今月と来月のを作成しています。
HTTPアクションで "keyword_or" で検索ワードで検索しています。
今月
変数で今月を取得します。
日付のフォーマットは connpass API で必要な yyyyMM形式にします。
2023年3月だと、202303になります。
変数を初期化する
名前
this month
種類
文字列
値
addHours(utcNow(), 9, 'yyyyMM')
来月
来月を取得します。
今月の1日目(月初)に32日を足すと、1ヵ月が28日でも31日の月でも翌月になります。
そこから、yyyyMM形式で月日を取得すれば翌月です。
名前
next month
種類
文字列
値
startOfMonth(addDays(startOfMonth(addHours(utcNow(), 9)), 32), 'yyyyMM')
connpass API でキーワード検索する
"keyword_or" にキーワードを指定します。
"ym" には変数で指定した値を、動的コンテンツから選択して入力します。途中カンマを忘れずに。
方法
GET
文字列
ヘッダー
{ "Content-Type": "application/json" }
クエリ
{ "keyword_or": "Power Automate,Power Apps,Power BI,Power Virtual Agents,Power Pages,Power Platform,Dynamics 365,Microsoft 365", "order": "2", "count": "30", "ym": "@{variables('this month')},@{variables('next month')}" }
実行する
フローを実行すると検索ワードで取得できます。
ただし、検索にひっかからないイベントもあります。
検索ワードで取得できないパターン
今回、うまくいったぁと思ったら、取得できないイベントがあることに気づきしばらくハマってました。
検索ワードで取得できないイベントは下記の2パターン。
- 公開されて間もないイベントである
- connpass の運営スタッフによりピックアップされていない
1は時間の経過とともに取得できます。
2はどうしようもないので、イベントの主催者での検索を駆使すると何とかできたりできなかったりします。
参考: 登録したイベントが新着/検索に出てこない
help.connpass.com
さいごに
connpass のイベント検索は広くイベントを探すときに便利です。
全てが検索に引っかかるわけではないので工夫が必要ですね。
過去の connpass API の記事はこちら。
flali.hatenablog.com
flali.hatenablog.com
flali.hatenablog.com