からめもぶろぐ。

俺たちは雰囲気で OAuth をやっている

Microsoft Graph のプレゼンス情報 API が Public Preview になりました

元ネタはこちら。

developer.microsoft.com

これまでプレゼンス情報を取得するには、Skype for Bussiness の Unified Communications Web API (UCWA) というものを使わなければならなかったのですが、今回のアップデートにより、より簡単にプレゼンス情報を取得できるようになりました。もちろん Teams のプレゼンス情報にも対応しています。

試しに Graph Explorer を使って API を実行してみます。アクセス許可に「Presence.Read」および「Presence.Read.All」が増えているので許可するのを忘れずに。

POST https://graph.microsoft.com/beta/communications/getPresencesByUserId
Content-Type: application/json

{
    "ids": ["4b34f1e2-0c77-4fbd-a8cf-94a4606021ee"]
}

と実行すると以下のような結果が返ってきます。

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(presence)",
    "value": [
        {
            "@odata.type": "#microsoft.graph.presence",
            "availability": "Offline",
            "activity": "Offline",
            "id": "4b34f1e2-0c77-4fbd-a8cf-94a4606021ee"
        }
    ]
}

オンラインになっているときはステータスが変わります。

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(presence)",
    "value": [
        {
            "@odata.type": "#microsoft.graph.presence",
            "availability": "Available",
            "activity": "Available",
            "id": "4b34f1e2-0c77-4fbd-a8cf-94a4606021ee"
        }
    ]
}

getPresencesByUserId は ID を複数指定できるので、プレゼンス情報を一覧表示するみたいなこともとても簡単にできるようになります。これは便利そうですね!