PowerApps でConnpass簡易受付アプリを作る #01

昨年2018年12月22日に開催された「Power BI 勉強会#11」で利用していた、PowerAppsで作成したConnpass簡易受付アプリの作り方をStep by Stepで紹介していきます。第1回目の今回は、導入編としてアプリの大まかな仕様部分を共有したいと思います。

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">王子がPower BI をかけてくれたデータを生成している Connpassの申し込み情報から受付を簡易化するPowerAppsの画面はこんな感じです。Connpassは外部連携用APIは用意されてないので、CSVを取り出してExcel化して <a href="https://twitter.com/hashtag/PowerApps?src=hash&amp;ref_src=twsrc%5Etfw">#PowerApps</a>  でhogehogeしてます（文字数制限ｗ） <a href="https://twitter.com/hashtag/PowerBI?src=hash&amp;ref_src=twsrc%5Etfw">#PowerBI</a> <a href="https://twitter.com/hashtag/PBIJP?src=hash&amp;ref_src=twsrc%5Etfw">#PBIJP</a> <a href="https://t.co/Td0kk4ayHp">pic.twitter.com/Td0kk4ayHp</a></p>&mdash; やま (@yamad365) <a href="https://twitter.com/yamad365/status/1076371814572388352?ref_src=twsrc%5Etfw">2018年12月22日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

# Connpass受付と課題
コミュニティ勉強会の集客で、非常にお世話になっているConnpass。おそらく、当記事をご覧いただいている皆さんも1度は参加者で利用したことがあるかと思います。管理者側ですと、参加者の一覧、参加の管理（受付したよ、という登録）が可能な画面が提供されています。勉強会受付時に担当を設営できるのであれば、そこで管理者画面を利用することで参加・不参加の実際を登録・管理することが可能です。
![01-02.png](https://qiita-image-store.s3.amazonaws.com/0/215892/9f0cd858-855a-4f21-28ab-7c113c9b1bdf.png)

人数が少なければ標準機能で管理可能なのでしょうが、参加人数が50名を超えるぐらいから、色々不便な点が出てきます。

　1. Connpass イベントの管理者権限を持つユーザーしかできない
　2. 検索が煩雑（ブラウザー標準の検索を使うしかない）
　3. 参加者側はユーザーID、受付番号ぐらいしかKeyが無いので自動化し辛い
　　→ 参加者を識別するようなバーコードやQRコードは提供されない

じゃぁ、APIを利用してアプリ作っちゃえばいんじゃね？と思うんですが・・・。Connpassは参加者の「参加」などを操作するAPIが提供されておりません(2019年1月時点）。

 [connpass API リファレンス](https://connpass.com/about/api/)

また、前述通り参加者へ届く参加者用メールには受付番号しか提供されません。Connpassは無償で利用可能ですので、まぁここらへんは致し方ないのかな、と思ってます。

# PowerApps で アプリ作っちゃおう
さて、前述どおりConnpassは便利なんですが、受付業務に関しては若干の難が出る場合があります。APIも用意されてないし、バーコードやQRもない。
Connpassの管理画面から参加者一覧をCSVで取得できます。そのCSVには受付番号とユーザーIDが含まれています。これで参加者をユニークにすることが可能です。なので、そのCSVをExcelテーブル化して、それをデータソースとして利用するPowerAppsアプリを作ることにしました。

# 受付のユースケース
1. 前提条件として参加者にはConnpassから受付完了メール（受付番号がある）が送付済み
2. 受付担当は当アプリを利用して、受付番号、またはユーザーIDで参加者を検索
3. 検索で特定できた場合［受付］ボタンを押下して受付完了
4. 誤って受付してしまった場合は［キャンセル］アイコンで受付を解除
5. Connpass本体側への反映は、データソースのExcelから頑張って反映ｗ

なお、データソースがExcelなので、Office 365上は単一のユーザーでしか利用できません。複数のユーザーから同時平行で書き込みを実施したい場合は、Excel以外のデータソースにする必要があります。※今回は簡単にExcelを利用します。その他データソースに関する説明は、当連載で実施する予定ありません。

# アプリ画面イメージ
今回、作成する画面イメージはこんな感じです。Power BI 勉強会で利用したアプリとは若干絵面が異なりますが、基本的な機能は一緒です。［受付番号］または［ユーザー名］で検索して、画面下部にある一覧にある［受付］ボタンを押下することで出席登録を実施。［ゴミ箱アイコン］（＝削除ボタン）は、受付間違いをキャンセルするためにおいてあります。
![02.png](https://qiita-image-store.s3.amazonaws.com/0/215892/138ea709-7395-bc9d-4bfb-d517e9c867e7.png)

# アプリ画面仕様
![03.png](https://qiita-image-store.s3.amazonaws.com/0/215892/c8df3bef-2c09-b980-f21b-cc16b2c2a554.png)

| No.   | コントロール | 説明 |
|:-----------------|:------------------|:------------------|
| 1 | テキスト入力 | 入力された値で受付番号を検索します。 |
| 2 | テキスト入力 | 入力された値でユーザー名（User Id）を検索します。 |
| 3 | ボタン | No.1、2 の テキスト入力をクリアします。 |
| 4 | ラベル | No.5のギャラリーから“受付数／総数”を表示します。 |
| 5 | ギャラリー | No.6～9 を データソース分 一覧表示します。 |
| 6 | ラベル | 受付番号です。 |
| 7 | ラベル | ユーザー名（User Id/Connpassへ登録してるID）です。 |
| 8 | ボタン | 受付を実施するボタン。1回押下したら表示が"済"に切り替わります。 |
| 9 | アイコン | 受付を解除するボタン。No.8 が"済"の場合のみ表示。 |

さて、概要はこれくらいにして。次回からアプリの作成に着手していこうと思います。

[次回＃02＞＞](https://qiita.com/yamad365/items/c0ece19ab5919b934a0e)