64
de:code 2019 PR04 これからはじめる! やさしい Microsoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部 パートナーソリューションプロフェッショナル 佐伯 理美

PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

  • Upload
    others

  • View
    4

  • Download
    1

Embed Size (px)

Citation preview

Page 1: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

de:code 2019 PR04

これからはじめる!

やさしいMicrosoft Teams アプリ開発の基本

日本マイクロソフト株式会社

パートナー事業本部 パートナーソリューションプロフェッショナル

佐伯理美

Page 2: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

TeamsはOffice 365 のチーム コラボレーションのハブ

カスタマイズ & 機能拡張

コミュニケーション

コラボレーション

安心・安全

カスタマイズ & 機能拡張サードパーティ アプリ、業務プロセス連携

Page 3: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

なぜ Teams のアプリ開発なのか?

組織が使用する全てのアプリとツールを 1 つの UI に

チームやコミュニケーションと連携したアプリの開発

PC、タブレット、スマートフォンでも使える

1

3

2

Page 4: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teams の機能

チャット ファイル共有

ビデオ会議 音声通話

Office 365 アプリケーション

カスタム アプリ

Teams を起点にはじまる “コラボレーション” と “業務”

Page 5: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

メッセージ アクションの機能は開発者プレビュー

タスクを作成

Web サイトの表示崩れ

タイトル

緊急度

昨日更新した Web サイトの表示が崩れているようです。

内容

タスク管理アプリ

例) 会話からワークフローを開始する

参考:Initiate actions with messaging extensions

詳細は PR03

Page 6: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

近日中に、ボット以外の Teams のアプリ機能もモバイル デバイスで使用できるようになります。参考:Build 2019 で発表された Microsoft Teams プラットフォームの機能強化

Coming soon

Page 7: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

なぜ Teams のアプリ開発なのか?

組織が使用する全てのアプリとツールを 1 つの UI に

チームやコミュニケーションと連携したアプリの開発

PC、タブレット、スマートフォンでも使える

1

3

2

Teams を拡張することで、さらに便利に利用し、働く環境を変える

Page 9: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teamsのアプリに必要なアプリケーションパッケージ

Teams への展開には、アプリケー

ション パッケージが必要

参考:Create an app package for your Microsoft Teams app

アプリ A

Microsoft Teams

アプリケーション パッケージの中身

Page 10: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teams のアプリを作ろう

Page 11: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teamsのアプリを作ろう

1. App Studio を使用する

2. ジェネレーターを使用する

3. アプリ テンプレートを使用する

1. App Studio を使用する

4. PowerApps を使用する Appendix

Page 12: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

App Studio でmanifest やコードの作成を容易に

参考:Quickly develop apps with App Studio for Microsoft Teams

Page 13: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

App Studio で Teams のアプリを作成し、

開発テスト用に展開する

Demo

このデモで準備しておくもの:

• 任意の Web ページ

Page 14: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teamsのアプリを作ろう

1. App Studio を使用する

2. ジェネレーターを使用する

3. アプリ テンプレートを使用する

4. PowerApps を使用する Appendix

Page 15: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

ジェネレーターを使用して、アプリのプロジェクトを作成

Yeoman

http://yeoman.io

npm install -g yonpm install -g generator-teams

Page 16: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

アプリをローカルにホストして実行する

参考:Run and debug your Microsoft Teams app

Teams でアプリを動作させるために、① HTTPS エンドポイントを使用してアクセスできるようにする② ローカルで実行中のインスタンスに外部からアクセス可能にする

トンネリング ソフトウェアを利用する (ngrok など)

Page 17: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

ジェネレーターを使用してアプリを作成し、

開発テスト用に展開する

Demo

このデモで準備しておくもの:

• Node.js、npm、gulp、Yeoman のインストール

• Yeoman の Teams ジェネレーターのインストール

• ngrok (ローカル環境でアプリを動作させるために必要)

• Visual Studio Code

Appendix に詳細あり

Page 18: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

ここで、Teams のアプリ機能を解説

Page 19: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teams のアプリ機能 “タブ”

• Teams のタブはWeb ページがベースとなる

Page 20: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teams のアプリ機能 “ボット”

ボット アプリケーションがベースとなる

詳細は PR03

Page 21: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teams のアプリ機能を組み合わせて使う

本セッションはタブを中心に解説

参考:Concepts

Page 22: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

タブの概要

PC の Teams デスクトップ アプリ、Web ブラウザーの場合

• スクラッチから作成

• 既存

タブ

https://teams.microsoft.com/...

ここが開発する部分

https://yourapp.contoso.com/...

• Azure

• 別のホスト サーバー

Page 23: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

タブのWeb ページの作成にあたって

① HTTPS エンドポイント上にホストする

② Teams の iframe 内でコンテンツが動作するようにするX-Frame-Options/Content-Security-Policy を使用するなど

多くの Web ページでは、iframe で参照されることを許可しないように構成されているので、注意が必要です

③ タブで表示するページのドメインを manifest の にリストする

Content-Security-Policy: frame-ancestors teams.microsoft.com *.teams.microsoft.com *.skype.com

X-Frame-Options: ALLOW-FROM https://teams.microsoft.com/または

参考:Requirements for tab pages in Microsoft Teams

validDomains

Page 24: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

タブのWeb ページの作成にあたって

④ Microsoft Teams JavaScript client SDK を使用する

Teams 上で Web ページが読み込まれたら、以下を実行

Teams SDK を使用することで、以下が可能

• 現在サインインしているユーザー情報の取得内容によっては、Graph API を使用する必要あり

• コンテキストの取得タブにアクセスしているユーザーが今いるチーム/チャネル/タブの情報、どのクライアントからのアクセスであるか (desktop, web, ios, android) など

• Teams に特化した操作チャット画面、会議作成ダイアログ、アプリのインストール ダイアログの起動など

microsoftTeams.initialize();

参考:Microsoft Teams JavaScript client SDK

Page 25: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

【タブと組み合わせたい機能】 ディープ リンク

タブ上のリンクやボタンをクリック

チャットの画面を開く

アプリのインストール画面を開く

会議の作成画面を開く開発者プレビュー

https://teams.microsoft.com/l/chat/0/0?users=<user1>,<user2>,...&topicName=<chatname>&message=<precannedtext>

Page 26: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

タブでディープ リンクを使用する際、タブのWeb ページ上で Teams SDKのexecuteDeepLink関数を使用します。

// タブからチャット画面を開く

microsoftTeams.executeDeepLink("https://teams.microsoft.com/l/chat/0/[email protected],[email protected]&topicName=Prep%20For%20Meeting%20Tomorrow&message=Hi%20folks%2C%20kicking%20off%20a%20chat%20about%20our%20meeting%20tomorrow");

// タブからスケジュール ダイアログを開く

microsoftTeams.executeDeepLink("https://teams.microsoft.com/l/meeting/new?subject=test%20subject&[email protected],[email protected]&startTime=10%2F24%2F2018%2010%3A30%3A00&endTime=10%2F24%2F2018%2010%3A30%3A00&content=test%3Acontent");

// タブからアプリのインストール ダイアログを開く

microsoftTeams.executeDeepLink("https://teams.microsoft.com/l/app/f46ad259-0fe5-4f12-872d-c737b174bcb4");

参考:Create deep links to content and features in Microsoft Teams

Page 27: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

【タブと組み合わせたい機能】 タスク モジュール

アイテムの作成フォームを表示する リッチなコンテンツを表示する

Page 28: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

タブでタスクモジュールを使用する際、Teams SDKの startTaskおよびsubmitTask関数を使用します。

参考:Using task modules in tabs

// タスク モジュールを開く

・・・ 省略 ・・・

taskInfo.url = "https://www.contoso.com/teamsapp/customform";taskInfo.title = "Custom Form";taskInfo.height = 510;taskInfo.width = 430;microsoftTeams.tasks.startTask(taskInfo, submitHandler);

// タスク モジュールの内容を Submit する・・・ 省略 ・・・

var customerInfo = {name: document.forms["customerForm"]["name"].value,email: document.forms["customerForm"]["email"].value}microsoftTeams.tasks.submitTask(customerInfo, "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");

<html><head></head><body>・・・入力フォームの実装・・・</body>

</html>

Page 29: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

【タブと組み合わせたい機能】 ボット

Microsoft Teams

参考:Combine bots with tabs

/teams/content1.html

/api/messages

Page 30: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

あなたが担当のタスクが作成されました。

ボット

【タブと組み合わせたい機能】 ボット

Microsoft Teams

タブ アプリで自分のタスクが作成されたら、ボットで通知する

タブ

作成

1

2

1

2

Page 31: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

【タブと組み合わせたい機能】 ボット

Microsoft Teams

[タイトル] PR イベント準備[内容] フライヤー作成[担当者] Jiro Micro

タブ

ボットで登録した情報をタブ アプリで確認する

タスクの名前は?ボット

Jiro Micro

担当者は誰にしますか?

PR イベント準備1

2

2

1

Page 32: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teamsのアプリを作成する

1. App Studio を使用する

2. ジェネレーターを使用する

3. アプリ テンプレートを使用する

4. PowerApps を使用する Appendix

Page 33: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Azure にデプロイ

Customer Stickers こちら

Page 34: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teamsアプリテンプレート

Customer Stickers IcebreakerAvailable

Coming soon Celebrations Approvals Company comms

メッセージ拡張を実装 ボットを実装

Page 35: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teamsのアプリを作成する

1. App Studio を使用する

2. ジェネレーターを使用する

3. アプリ テンプレートを使用する

4. PowerApps を使用する Appendix

Page 36: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teams のアプリ開発を検討しよう

Page 37: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teamsのアプリ開発を検討するポイント

業務用アプリケーションとコミュニケーション基盤が分か

れていることで、手間になっていることはありませんか?

部門やチームなどの複数人での作業を活性化 / 効率

化しませんか?

Page 38: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

開発者の皆様へ

◼Teams カスタム アプリの開発をご検討ください

◼すでにアプリケーションをお持ちの方は、Teams に取り込むことをご検討ください

※Bot は Azure Bot Service が必要

Page 39: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

さいごに

Page 40: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

© 2018 Microsoft Corporation. All rights reserved.

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

© 2019 Microsoft Corporation. All rights reserved.

本情報の内容 (添付文書、リンク先などを含む) は、de:code 2019 開催日 (2019年5月29~30日) 時点のものであり、予告なく変更される場合があります。

本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。

Page 41: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Appendix

Page 42: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

アプリのテスト時の注意点

参考:組織の Microsoft Teams の設定を管理する

Page 43: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル
Page 44: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teams のカスタム アプリを作成し、

開発テスト用に展開する

Demo (画面ショット)

このデモで準備しておくもの:

• 任意の Web ページ

Page 45: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル
Page 46: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル
Page 47: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル
Page 48: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル
Page 49: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

ジェネレーターを使用してアプリを作成し、

開発テスト用に展開する

Demo (セットアップ)

このデモで準備しておくもの:

• Node.js、npm、gulp、Yeoman のインストール

• Yeoman の Teams ジェネレーターのインストール

• ngrok (ローカル環境でアプリを動作させるために必要)

• Visual Studio Code

Page 50: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

開発環境のセットアップ

◼ Node.js のインストール

Node.js をインストールします。

◼ コード エディターのインストール

Visual Studio Code をインストールします。 (その他の任意のエディターでも可)

◼ Yeoman と gulp のインストール

以下のコマンドを実行してインストールします。

◼ Yeoman の Teams ジェネレーターのインストール

以下のコマンドを実行してインストールします。

◼ ngrok のインストール

ngrok をインストールします。

npm install -g yo gulp

npm install -g generator-teams

参考:Get started on the Microsoft Teams platform with Node.js and App Studio

Page 51: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Microsoft Teams のセットアップポリシーセットアップ ポリシーは現在展開中です

アプリをここに固定して表示することで、すぐに見つけ、すぐに使える状態に

参考:Microsoft Teams のアプリ

のセットアップ ポリシーを管理する

Page 52: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル
Page 53: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル
Page 54: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル
Page 55: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Microsoft Teams JavaScript client SDK

• SDK をインストールするnpm もしくは yarn を使用してインストールが可能

• SDK を使用する

npm install --save @microsoft/teams-js

yarn add @microsoft/teams-js

または

import * as microsoftTeams from "@microsoft/teams-js";

TypeScript

参考:Microsoft Teams JavaScript client SDK

Page 56: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

<html><head></head><body><div>〇〇〇〇アプリ

</div><div>

...

</body></html>

],"staticTabs": [{"entityId": "sampletab","name": "サンプル タブ","contentUrl": "https://

yourapp.contoso.com/content1","scopes": [ "personal" ]}],

コンテンツ ページ:https://yourapp.contoso.com/content1

1. タブを追加する 2. タブが展開される

参考:Static tabs

Page 57: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

<html><body>...</body></html>

],"configurableTabs": [{"configurationUrl": "ht

tps://yourapp.contoso.com/tab/config.html","canUpdateConfiguration

": true,"scopes": ["team","groupchat",]}],

構成ページ:https://yourapp.contoso.com/tab/config.html

//設定の保存時の JavaScript の実装

microsoftTeams.settings.setSettings({entityId: "sampletab",contentUrl: "https://yourapp.contoso.com/content2",removeUrl: "https://yourapp.contoso.com/tabremove.html",});

<html><head></head><body><div>□□□□アプリ

</div><div>

...

</body></html>

コンテンツ ページ:https://yourapp.contoso.com/content2

参考: Configurable tabs

1. タブを追加する 2. タブの設定をする 3. タブが展開される

Page 58: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

【タブと組み合わせたい機能】 ボット + ディープ リンク

お問い合わせSR00123 と SR00456 を確認してください。

ボットMicrosoft Teams

ボットのメッセージからタブ アプリの特定のコンテンツに誘導する

[SR ID] SR00123[タイトル] ○○○○

[SR ID] SR00456[タイトル] ■■■■

タブ

参考:Create deep links to content and features in Microsoft Teams

Page 59: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

タブへのディープリンクの実装

参考:Create deep links to content and features in Microsoft Teams

みなさん、こちらの Task 456 を見てもらえませんか?

会話

[タスク] Task 456[内容] イベント カタログ作成

タブ

https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123/456&label=Task 456&context={"subEntityId": "task456","canvasUrl": "https://tab.tasklist.example.com/123","channelId": "19:[email protected]"}

//例microsoftTeams.getContext(function(context: microsoftTeams.Context) {this.subEntityId = context.subEntityId; //以降で、この

subEntityId を使用して、処理を実装

});

Page 60: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teamsのアプリを作成する

1. App Studio を使用する

2. ジェネレーターを使用する

3. アプリ テンプレートを使用する

4. PowerApps を使用する Appendix

Page 61: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Teams で PowerApps アプリを使用する

この部分を PowerApps アプリで作成

参考:Microsoft Teams にアプリを追加する

PowerApps のサンプル アプリを使用して、すぐに試すことができます。

Page 62: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

タスクモジュールなどで PowerApps アプリを iframe に埋め込む場合、iframe 用の URLを使用

https://web.powerapps.com/webplayer/iframeapp?source=iframe&appId=/providers/Microsoft.PowerApps/apps/[AppID]

<!DOCTYPE html><html lang="ja"><head></head><body><div id="embed-container"><iframe height="400" width="500"src="https://web.powerapps.com/webplayer/iframeapp?source=iframe&appId=/providers/Microsoft.PowerApps/apps/fdbf743d-88ca-45eb-afce-786545485f3e"></iframe></div></body></html>

参考:キャンバス アプリを Web サイトなどのサービスに統合する

例) powerapps.html

Page 63: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Microsoft Teams Developer Platform

https://aka.ms/TeamsDev

Page 64: PR04 - Microsoft...de:code 2019 PR04 これからはじめる! やさしいMicrosoft Teams アプリ開発の基本 日本マイクロソフト株式会社 パートナー事業本部パートナーソリューションプロフェッショナル

Sample Description

Hello World in Microsoft Teams with

Node.js

A sample teams app in Node.js introducing you to the basic app capabilities.

Hello World in Microsoft Teams with

C#.NET

A sample teams app in C# .NET introducing you to the basic app capabilities.

Complete sample in Node.js This sample shows how to use all the features of the Microsoft Teams platform

Complete sample in C#/.NET This project is meant to help a Teams developers in two ways. First, it shows many examples

of how an app can integrate into Teams. Second, it gives a set of patterns, templates, and

tools that can be used as a starting point for creating a larger, scalable, more enterprise level

app to work within Teams.

Line of Business apps in C#/.NET This repository contains multiple example Line of Business apps that can be used for either

inspiration or as templates to build on top of.

Sample bot for C#/.NET This sample bot shows how to use the [Teams extensions for the Bot Builder SDK] (~/get-

started/code.md#microsoft-teams-extensions-for-the-bot-builder-sdk) in C#.NET.

Sample bot for Node.js This sample bot shows how to use the [Teams extensions for the Bot Builder SDK] (~/get-

started/code.md#microsoft-teams-extensions-for-the-bot-builder-sdk) in Node.js.

Outgoing Webhook for C#/.NET Illustrates how to create an Outgoing Webhook for Microsoft Teams in C#/.NET.

Outgoing Webhook for Node.js Illustrates how to create a simple Outgoing Webhook for Microsoft Teams in ~50 lines of

Node.js code.

Sample connector for Node.js This sample, written in Node.js, showcases how to build a connector for Microsoft Teams

using GitHub as an example to generate connector notifications.

Sample connector for C#/.NET This sample, written in C#, showcases how to build a connector for Microsoft Teams using a

sample task list app as an example to generate connector notifications.