Microsoft Graph API を使用して Microsoft Teams で作業する

Microsoft Teams は、Microsoft 365 のチャットベースのワークスペースであり、チーム固有の予定表、ファイル、OneNote のノート、Planner のプラン、シフトのスケジュールなどへの組み込みのアクセスを提供します。

Microsoft Teams の主なリソース

リソース メソッド
team 各自のチームの一覧表示すべてのチームの一覧表示作成読み取り更新削除複製アーカイブアーカイブ解除
group メンバーの追加、 メンバーの削除所有者の追加、 所有者の削除ファイルの取得ノートブックの取得プランの取得予定表の取得
channel 一覧表示作成読み取り更新削除
teamsTab 一覧表示作成読み取り更新削除
teamsApp 一覧表示公開更新削除
teamsAppInstallation 一覧表示インストールアップグレード削除
chatMessage チャネルの一覧チャットの一覧送信チャネルでの読み取りチャットでの読み取り
通話 応答拒否リダイレクトミュートミュート解除画面共有の役割の変更参加者の一覧表示参加者の招待
schedule 作成または置換取得共有
schedulingGroup 作成一覧表示取得置換削除
activityFeedNotification チャットの範囲内のユーザーに通知を送信するチームの範囲内のユーザーに通知を送信する個人的な範囲内のユーザーに通知を送信する
シフト 作成一覧表示取得置換削除
timeOff 作成一覧表示取得置換削除
timeOffReason 作成一覧表示取得置換削除

Microsoft Teams の制限

テスト済みの Microsoft Teams のパフォーマンスと容量の制限は、「Microsoft Teams の制限事項と仕様」に記載されています。 これらの制限は、Microsoft Teams を直接使用している場合でも、Microsoft Graph API を使用している場合でも適用されます。 すべてのチームには対応するグループがあり、すべてのグループはディレクトリ オブジェクトであるため、グループの数ディレクトリ オブジェクトの数 ("リソース") に制限が発生する可能性もあります。

チャネル内のファイルは SharePoint に保存され、SharePoint Online の制限が適用されます。

詳細については、「throttling limits for Microsoft Teams services (Microsoft Teams サービスの制限の調整)」を参照してください。

チームとグループ

Microsoft Graph では、Microsoft Teams は group リソースとして表されます。 Microsoft Teams と Microsoft 365 の両方のグループは、グループの共同作業のためのさまざまなニーズに対応します。 ほとんどのグループベースの機能 (グループの予定表、ファイル、ノート、写真、プランなど) は Microsoft Teams グループと Microsoft 365 グループに適用されます。 チーム と Microsoft 365 のグループの主な違いは、メンバー間のコミュニケション モードです。 チーム メンバーのコミュニケーションには、特定のチームのコンテキストで常設チャットが使用されます。 Microsoft 365 グループ メンバーのコミュニケーションには、グループ会話 (Outlook のグループのコンテキストで行われるメールによる会話) が使用されます。

チームを持つすべてのグループでは resourceProvisioningOptions プロパティが "Team" に設定されています。

注: Group.resourceProvisioningOptions プロパティは変更可能です。 このコレクションで "Team" を追加または削除しないでください。このようにすると、すべてのチームを一覧表示するときに誤った結果が表示されます。

チームとグループの API レベルでの違いを以下に示します。

注:(たとえば、Microsoft Teams で実行されるタブまたはボットの一部として) スタンドアロン アプリではなく Microsoft Teams アプリのグループ API を使用する場合、記事「Microsoft Teams ページで Microsoft Graph を使用する」のガイダンスに従ってください。

Microsoft Teams のメンバーシップの変更

ユース ケース 動詞 URL
メンバーを追加する POST /teams/{team-id}/members
メンバーを削除する DELETE /teams/{team-id}/members/{membership-id}
メンバーの役割を更新する PATCH /teams/{team-id}/members/{membership-id}
チームを更新する PATCH /teams/{team-id}

ポーリングの要件

リソースが変更されたかどうかを確認するためにアプリがポーリングを行う場合、実行できるのは 1 日に 1 回だけです。 (teamsAsyncOperation は、頻繁にポーリングされることを意図しているという点で例外です。) それよりも頻繁に変更について知る必要がある場合は、そのリソースのサブスクリプションを作成し、変更通知 (Webhooks) を受け取る必要があります。 必要なサブスクリプションの種類に対するサポートが見つからない場合は、Microsoft 365 開発者プラットフォーム アイデア フォーラム を通じてフィードバックを提供してください。

新しいメッセージをポーリングする場合、サポートされている場合は日付の範囲を指定する必要があります。 詳細については、「チャネル メッセージの差分を取得する」を参照してください。

ポーリングとは、リソースが変更されたかどうかを確認するために、リソースに対して何度も GET 操作を行うことをさします。 それがポーリングではない限り、同じリソースに対して 1 日に複数回 GET 操作を行うことができます。 たとえば、ユーザーがお客さまの Web ページを訪問/更新するたびに /me/joinedTeams を GET しても問題はありませんが、その Web ページを更新するために 30 秒ごとにループで /me/joinedTeams を GET することはできません。

これらのポーリング要件に従わないアプリは、Microsoft API の使用条件に違反していると見なされます。 これにより、追加の調整が発生したり、Microsoft API の使用が停止または終了したりする可能性があります。

新機能

この API セットに関する 最新機能や更新プログラム を検索してください。

関連項目