Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Microsoft Teamsのために作成されたO365グループを取得する

はじめに

MicrosoftがリリースしたTeamsはユーザー管理の基盤としてOffice365(O365)のグループを作成します。
つまり1チームにつき1つのO365グループが作成されます。O365のグループはTeams以外でも使用されますし、しかもチームはデフォルト設定でテナントユーザーであれば誰でも作りたい放題なので、情報システム部門はテナント内のO365グループを把握するのは一苦労です。
というわけでテナント内のO365グループからTeamsのために作成されたO365のグループを取得してみます。

取得の仕方

取得にはMicrosoft Graph APIを使用します。
Graph Explorerにアクセスして以下のAPIエンドポイントのURLをGETメソッドで呼び出します。

https://graph.microsoft.com/v1.0/groups

すると以下のようなJSONファイルが取得されます。
Graph Explorerではログインをしないとダミーデータが表示されます実際のご自身のテナントの情報を取得したい場合は画面左からテナントのアカウントで認証を行ってください。)

Groups.json
{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#groups",
    "value": [
        {
            "id": "02bd9fd6-8f93-4758-87c3-1fb73740a315",
            "description": "Welcome to the HR Taskforce team.",
            "displayName": "HR Taskforce",
            "groupTypes": [
                "Unified"
            ],
            "mailEnabled": true,
            "mailNickname": "HRTaskforce",
            "resourceBehaviorOptions": [],
            "resourceProvisioningOptions": [
                "Team"
            ],
            "securityEnabled": false,
            "visibility": "Private",
        },
        {
            "id": "8090c93e-ba7c-433e-9f39-08c7ba07c0b3",
            "description": "Welcome to the team that we've assembled to launch our product.",
            "displayName": "X1050 Launch Team",
            "groupTypes": [
                "Unified"
            ],
            "mailEnabled": true,
            "mailNickname": "X1050LaunchTeam",
            "resourceBehaviorOptions": [],
            "resourceProvisioningOptions": [],
            "securityEnabled": false,
            "visibility": "Private",
        }
        ...
    ]
}

このJSONはグループ情報の配列になっています。
そして各グループのresourceProvisioningOptionsというプロパティに"Team"という値が入っていればそのグループはTeamsのために作成されたグループであるということを表しています。

ODataクエリ

Microsoft Graph APIはODataに対応しており、以下のURLでアクセスするとresourceProvisioningOptions"Team"が含まれるグループ、つまりTeamsのために作成されたグループ情報のみが取得できます。

https://graph.microsoft.com/beta/groups/groups?$filter=resourceProvisioningOptions/Any(x:x eq 'Team')

注.このODataクエリはv1.0エンドポイントでは対応していないため、bataを使用する必要があります。

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?