Microsoft Graph API を使用して Microsoft Teams で作業するUse the Microsoft Graph API to work with Microsoft Teams

重要

Microsoft Graph の/betaバージョンの api は変更される可能性があります。APIs under the /beta version in Microsoft Graph are subject to change. 実稼働アプリケーションでは、これらの API の使用はサポートされていません。Use of these APIs in production applications is not supported.

Microsoft Teams は、Office 365 のチャットベースのワークスペースであり、チーム固有の予定表、ファイル、OneNote のノート、Planner のプラン、シフトのスケジュールなどへの組み込みのアクセスを提供します。Microsoft Teams is a chat-based workspace in Office 365 that provides built-in access to team-specific calendars, files, OneNote notes, Planner plans, Shifts schedules, and more.

Microsoft Teams の主なリソースKey resources in Microsoft Teams

リソースResource メソッドMethods
teamteam 各自のチームの一覧表示すべてのチームの一覧表示作成読み取り更新削除複製アーカイブアーカイブ解除List your teams, list all teams, create, read, update, delete, clone, archive, unarchive
groupgroup メンバーの追加、 メンバーの削除所有者の追加、 所有者の削除ファイルの取得ノートブックの取得プランの取得予定表の取得Add member, remove member, add owner, remove owner, get files, get notebook, get plans, get calendar
channelchannel 一覧表示作成読み取り更新削除List, create, read, update, delete
teamsTabteamsTab 一覧表示作成読み取り更新削除List, create, read, update, delete
teamsAppteamsApp 一覧表示公開更新削除List, publish, update, remove
teamsAppInstallationteamsAppInstallation 一覧表示インストールアップグレード削除List, install, upgrade, remove
chatMessage (プレビュー)chatMessage (preview) 一覧表示送信読み取りList, send, read
call (プレビュー)call (preview) 応答拒否リダイレクトミュートミュート解除メタデータ更新画面共有の役割の変更参加者の一覧表示参加者の招待すべての参加者のミュートAnswer, reject, redirect, mute, unmute, update metadata, change screen sharing role, list participants, invite participants, mute all participants
schedule (プレビュー)schedule (preview) 作成または置換取得共有Create or replace, get, share
schedulingGroup (プレビュー)schedulingGroup (preview) 作成一覧表示取得置換削除Create, List, Get, Replace, Delete
シフト(プレビュー)shift (preview) 作成一覧表示取得置換削除Create, List, Get, Replace, Delete
timeOff(プレビュー)timeOff (preview) 作成一覧表示取得置換削除Create, List, Get, Replace, Delete
timeOffReason (プレビュー)timeOffReason (preview) 作成一覧表示取得置換削除Create, List, Get, Replace, Delete

チームとグループTeams and groups

Microsoft Graph では、Microsoft Teams は group リソースとして表されます。In Microsoft Graph, Microsoft Teams is represented by a group resource. Microsoft Teams と Office 365 の両方のグループは、グループの共同作業のためのさまざまなニーズに対応します。Both Microsoft Teams and Office 365 groups address the various needs of group collaboration. ほとんどのグループベースの機能 (グループの予定表、ファイル、ノート、写真、プランなど) は Microsoft Teams グループと Office 365 グループに適用されます。Almost all the group-based features apply to Microsoft Teams and Office 365 groups, such as group calendar, files, notes, photo, plans, and so on. チーム と Office 365 のグループの主な違いは、メンバー間のコミュニケション モードです。The main difference between a team and an Office 365 group is the mode of communication between members. チーム メンバーのコミュニケーションには、特定のチームのコンテキストで常設チャットが使用されます。Team members communicate by persistent chat in the context of a specific team. Office 365 グループのメンバーのコミュニケーションには、グループ会話 (Outlook のグループのコンテキストで行われるメールによる会話) が使用されます。Office 365 group members communicate by group conversations, which are email conversations that occur in the context of a group in Outlook.

チームを持つすべてのグループでは resourceProvisioningOptions プロパティが "Team" に設定されています。Any group that has a team has a resourceProvisioningOptions property that contains "Team".

注: Group.resourceProvisioningOptions プロパティは変更可能です。Note: The Group.resourceProvisioningOptions property can be changed. このコレクションで "Team" を追加または削除しないでください。このようにすると、すべてのチームを一覧表示するときに誤った結果が表示されます。Do not add or remove "Team" from that collection; otherwise, you'll get incorrect results when you list all teams.

チームとグループの API レベルでの違いを以下に示します。The following are the differences at the API level between teams and groups:

注:(たとえば、Microsoft Teams で実行されるタブまたはボットの一部として) スタンドアロン アプリではなく Microsoft Teams アプリのグループ API を使用する場合、記事「Microsoft Teams ページで Microsoft Graph を使用する」のガイダンスに従ってください。Note: If you use the groups API in a Microsoft Teams app rather than in a standalone app - for example as part of a tab or bot running in Microsoft Teams - follow the guidance in the article Using Microsoft Graph in your Microsoft Teams pages.

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

メンバーと所有者をチームに追加するには、同一 ID の group のメンバーシップを変更します。To add members and owners to a team, change the membership of the group with the same ID.

ユース ケースUse case 動詞Verb URLURL
メンバーを追加するAdd member POSTPOST /groups/{id}/members/$ref/groups/{id}/members/$ref
メンバーを削除するRemove member DELETEDELETE /groups/{id}/members/{userId}/$ref/groups/{id}/members/{userId}/$ref
所有者を追加するAdd owner POSTPOST /groups/{id}/owners/$ref/groups/{id}/owners/$ref
所有者を削除するRemove owner DELETEDELETE /groups/{id}/owners/{userId}/$ref/groups/{id}/owners/{userId}/$ref
チームを更新するUpdate team PATCHPATCH /teams/{id}/teams/{id}

所有者を追加するときには、そのユーザーをメンバーとして追加することをお勧めします。We recommend that when you add an owner, you also add that user as a member. チームの所有者がメンバーではない場合、所有権とメンバーシップの変更は Microsoft Teams にすぐに反映されないことがあります。If a team has an owner who is not also a member, ownership and membership changes might not show up immediately in Microsoft Teams. また、アプリと API によってその処理方法は異なります。In addition, different apps and APIs will handle that differently. たとえば Microsoft Teams ではユーザーがメンバーまたは所有者のいずれであるチームが表示されますが、Microsoft Teams PowerShell コマンドレッドと /me/joinedTeams API ではユーザーがメンバーであるチームだけが表示されます。For example, Microsoft Teams will show teams that the user is either a member or an owner of, while the Microsoft Teams PowerShell cmdlets and the /me/joinedTeams API will only show teams the user is a member of. 混乱を避けるため、すべての所有者をメンバー一覧にも追加してください。To avoid confusion, add all owners to the members list as well.

既知の問題: DELETE /groups/{id}/owners を呼び出すと、/groups/{id}/members 一覧からもユーザーが削除される。Known issue: when DELETE /groups/{id}/owners is called, the user is also removed from the /groups/{id}/members list. この問題を回避するには、所有者とメンバーの両方からユーザーを削除してから 10 秒待ち、その後メンバーにユーザーを再度追加することをお勧めします。To work around this, we recommend that you remove the user from both owners and members, then wait 10 seconds, then add them back to members.

メンバーと所有者を追加または削除するときには、波かっこ { } で ID を囲まないでください。When adding and removing members and owners, don't put braces { } around the ID.

速度Speed 構文Syntax
高速Fast https://graph.microsoft.com/beta/groups/02bd9fd6-8f93-4758-87c3-1fb73740a315/members/48d31887-5fad-4d73-a9f5-3c356e68a038/$refhttps://graph.microsoft.com/beta/groups/02bd9fd6-8f93-4758-87c3-1fb73740a315/members/48d31887-5fad-4d73-a9f5-3c356e68a038/$ref
低速Slow https://graph.microsoft.com/beta/groups/{02bd9fd6-8f93-4758-87c3-1fb73740a315}/members/{48d31887-5fad-4d73-a9f5-3c356e68a038}/$refhttps://graph.microsoft.com/beta/groups/{02bd9fd6-8f93-4758-87c3-1fb73740a315}/members/{48d31887-5fad-4d73-a9f5-3c356e68a038}/$ref

同様に、URL またはペイロードの userId が GUID ではなく UPN として表される場合、パフォーマンスが遅くなります。Similarly, if the userId in the URL or payload is expressed as a UPN rather than as a GUID, the performance will be slower.

速度Speed 構文Syntax
高速Fast 48d31887-5fad-4d73-a9f5-3c356e68a03848d31887-5fad-4d73-a9f5-3c356e68a038
低速Slow john@example.comjohn@example.com

低速のパスをとる場合、現在のチーム メンバーまたは所有者が Microsoft Teams アプリケーション/ Web サイトにサインインすると、変更は 1 時間以内に反映されます。When the slower path is taken, if a current team member or owner is signed in to the Microsoft Teams application/website, the change will be reflected within an hour. Microsoft Teams アプリケーション/Web サイトにこれらのユーザーがサインインしていない場合、変更が反映されるのは、いずれかのユーザーがサインインしてから 1 時間後になります。If none of those users are signed in to the Microsoft Teams application/website, the change will not be reflected until an hour after one of them signs in.

関連項目See also

Microsoft Teams API の概要Microsoft Teams API overview