Teamsタブアプリ開発基礎

# Teamsアプリ開発導入基礎　～タブアプリ編～

## 概要
MicrosoftTeams上で動くアプリケーションの作成を行っていきます。Teamsアプリは大きく分けると4つの分類があります。
* タブ
* ボット
* メッセージング拡張機能
* Webhook

今回MicrosoftTeamsアプリの開発の基礎として、タブアプリの開発導入を行っていきます。
導入の仕方は様々なのですが、今回はVisualStudioから導入を行っていきます。

## Teamsタブとは
MicrosoftTeamsに組み込まれているTeams対応Webページのことです。これらはiframeタブでチーム内のチャネル、グループチャット、個々のユーザ用の個人アプリとして使用することができます。
独自のWebアプリを埋め込んだり、powerプラットフォームのアプリを埋め込んだりすることができます。

## 前提
今回MicrosoftTeamsのアプリを作成するうえでMicrosoft365 の開発者テナントとアカウントを用意してください。詳細については[こちら](https://docs.microsoft.com/ja-jp/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant)を参考にしてください。

## 環境
* Windows10
* Visual Studio 2019 
* IIS

## はじめに　
Teams ToolKit のインストールを行います。Visual Studio MarketplaceもしくはVisualStudioの中の拡張機能メニューから直接インストールできます。![image6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/e590cabb-8d36-7764-dc85-065a59c7643b.png)

無事インストールができたら、プロジェクトを作成します。
以下手順です。
1. 新しいプロジェクトの作成を押す。![image1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/ee9768cf-f19f-f114-6089-284494b8c345.png)
2. TeamsAppを選択する。
![image2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/9005b194-b299-509d-2bd7-c7fb8c843e68.png)
3. 適当なプロジェクト名を入力し、作成を押す。
4. ポップアップがでるので、作成するものにチェックする。今回は、タブアプリを作成するので、Tabを選択する。
![Image3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/6bb71b78-c1a9-bbfb-659b-f6451321f11d.png)
5. 次にタブのタイプを選択する。今回は両方にチェックをして、Finishを押す。
![image4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/ea319da9-fa4a-8f29-1ab9-2cd817474bf2.png)
6. プロジェクトが作成されたことを確認する。![image5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/12304ecb-3d57-e991-3443-6b2743c716e7.png)

以上でプロジェクトを作成することができました。

## アプリを構成する。
次にアプリの構成を行っていきます。Teamsアプリには3つのコンポーネントが含まれています。
* MicrosoftTeamクライアント
* Teamsに表示されるコンテンツの要求に応答するサーバー
* Teamsアプリパッケージ
Teamsアプリがインストールされている場合、TeamsクライアントはTeamsアプリパッケージに含まれているマニュフェストファイルを読み込み、必要な情報を取得します。
以下構成手順です。
1. アプリの構成するにはMicrosoftTeamToolKitランディングページでEdit app packageを選択する。![image7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/b04c436c-80d6-1348-fb8b-6a0398e883e1.png)
2. ログインを求められたら事前に用意していた開発者アカウントでログインする。
3. MyEnvironmentsのdevelopmentを選択する。![image8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/5a07e007-d40d-0c53-948a-0e9d00f5db89.png)
4. App detailを選択する。![image9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/aab68928-0b22-e35f-82be-952785534014.png)
5. アプリの名前やID、アイコンなどの構成情報を編集することができる。任意の名前で編集したら、Updateをおすことで編集完了する。![image10 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/ed2a4028-3826-d5a0-b233-d9edf1684038.png)


以上でアプリを構成している内容の確認、編集を行うことができます。

## ビューの確認
プロジェクトを作成した際に作られるビューを確認します。View/Homeフォルダに以下が作成されていることを確認します。
* Config.cshtml
* Index.cshtml
* Privacy.cshtml
* TeamsOfUse.cshtml

Config.cshtmlは構成ページとして、Index.cshtmlはコンテンツページとして今回は扱います。
実際にタブに表示するWebページなどはIndex.cshtmlに書き込んでいくといいです。
各自表示させるHtmlをこちらに書き込んでいってください。


## アプリをローカルにインストールして実行する。
自分のTeamsに作成したプロジェクトのTeamsアプリをインストールしてみます。
以下手順です。
1. ソリューション構成のドロップダウンメニューからdeployを選択し、IIS Express +Teamsのボタンを押す。
2. Teamsが起動し、アプリのインストールダイアログがTeamsクライアントに表示されるのでインストールする。![image11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/5bb79a55-9c1d-1381-d24c-57d96e2c60ee.png)
3. もしインストールダイアログが表示されない場合はTeamsにApp Studioをインストールして、そこから作成したTeamsアプリを選択し、FinishのTest and distributeからインストールする。![image12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/f7fc52d8-37fb-ac5f-961a-956932ee5dfd.png)
4. 任意のチームもしくはチャットに追加する。![image13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/7b7e02f0-e6d9-1f54-e2ce-b82d03238d30.png)
5. 構成ページが開かれる。(このページはConfig.cshtmlの内容)![image15 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/1deff999-30fe-4b04-9ef3-cf8bdf76074a.png)
6. 保存を押すことで、タブが追加される。（表示されている内容はIndex.cshtmlの内容）![MicrosoftTeams-imag.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/648807/96c07c84-b635-e210-922e-c6d51b0b8c5e.png)

以上で作成したアプリケーションをデバッグすることができます。

## アプリをTeamsに公開する
今回は組織内のユーザ用にカスタムアプリをアップロードします。以下手順です。
1. プロジェクトからMicrosoft Teams ToolKitランディングページに行き、Edit app packageのDevelopmentを選択します。
2. 編集画面からFinishのTest and distributeを選択し、Downloadを押すとZipファイルがダウンロードされることを確認します。
3. ダウンロードしたZipファイルをTeams内のアプリからカスタムアプリをアップロードを選択し、アップロードします。
4. アップロードしたアプリが公開されていることを確認します。


## おわりに
これで作成したTeamsアプリを作成から公開まで行うことができます。同様の手順でチャットbotなどの作成も行うことができるので、ぜひ試してみてください。ありがとうございました。


## 引用 参考資料
* https://docs.microsoft.com/ja-jp/microsoftteams/platform/overview
* https://docs.microsoft.com/ja-jp/microsoftteams/platform/tabs/what-are-tabs
* https://docs.microsoft.com/ja-jp/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant
* https://docs.microsoft.com/ja-jp/microsoftteams/platform/toolkit/visual-studio-overview