Ryutaro一覧

NO IMAGE

C# で Exchange Online Remote PowerShell V2 Module を使用して Exchange Online へ接続する (.NET Framework 4.7.2 編)

プログラムから Exchange へ PowerShell 接続する方法として、以下の技術情報が公開されています。 Get a list of mail users by using the Exchange Management Shell ただし本ブログ執筆時点ではこの技術情報の最終更新は 2015 年 9 月と非常に古く、更新が行われていません。またここで説明されている内容は参考にはなりますが、Remote Runspace に接続する方法になっています。Remote Runspace は、ざっくりとしたイメージとしては Exchange サーバーや Exchange On...

Power Automate で Microsoft Graph reports API を利用する

Microsoft 365 管理センターで取得できるレポートは、Microsoft Graph reports API でも取得できます。そのため Microsoft Graph を使用してレポートの取得を自動化するようなことも可能です。ここでは Power Automate で Microsoft Graph reports API を利用するフローの作成方法を紹介します。取得したレポートはメールに添付して送信します。 基本的な Microsoft Graph reports API の試し方については Microsoft Graph reports API の試し方を参照してくださ...

NO IMAGE

Microsoft Graph reports API の試し方

Microsoft Graph を試すには Graph Explorer を使用するのが簡単です。ですが Microsoft 365 のレポートを取得できる Microsoft Graph reports API は現在の Graph Explorer では正しく結果を取得することができません。これは、reports API のレスポンスが 302 リダイレクトになっており、リダイレクトを正しく処理できないためです。そのため、ここでは Office365APIEditor を使用して Microsoft Graph reports API の動作を検証する方法を紹介します。紹介するのは ge...

Azure ポータルの [アプリの登録] で [サポートされるレガシ API] から Exchange を選択できない

Azure ポータルで Azure AD にアプリを登録した後、 - からアプリの使用するアクセス許可を事前に登録する場合があります。以前は以下のようにこの画面の に Exchange がありましたが、2020/11/18 ごろから Exchange は無くなりました。 これは、Outlook REST API の廃止がアナウンスされたことに起因するものです。Outlook REST API を使用する新しいアプリが登録できないように、 から Exchange が削除されました。 Outlook REST API も含め、複数の API がこの GUI の変更の影響を...

NO IMAGE

Microsoft Graph PowerShell SDK の試し方

Microsoft Graph を使用する方法として、Microsoft Graph PowerShell SDK を使用する方法があります。もともと SDK を使用しなくても PowerShell なら比較的容易に Microsoft Graph をはじめとした REST API を使用できますが、なるべく自分でコードを書きたくない場合は Microsoft Graph PowerShell SDK を使用するというのも選択肢になります。 なお Microsoft Graph PowerShell SDK はすでに GA していますが、ところどころ実装が不安定なものがあるので注意が必...

NO IMAGE

Microsoft Graph Event Resource の transactionId プロパティ

2020 年 9 月の更新で、Microsoft Graph の Event Resource に transactionId というプロパティが追加されました。これは、ネットワークの品質が悪い環境などで新しい予定を何度も作ってしまうことを防ぐのに使えるプロパティです。 まずはじめに、予定を作る際に以下のように transactionId を指定してリクエストを送信します。transactionId は何でもよいですが、ここでは意味を持たないランダムな値として GUID を使いました。 POST { "attendees": [], &...

NO IMAGE

Exchange Online への PowerShell 接続を非対話的に行う方法

Exchange Online の基本認証無効化および Exchange Online PowerShell V2 Module のリリースに伴い、従来の接続方法からよりセキュアな方法へ見直しが必要になっています。特に夜間バッチなどの自動化システムにおいて、どのように非対話的に Exchange Online へ接続するかを検討する必要があります。 この記事では、非対話的に接続するための考えられる方法と、そのメリット・デメリットを紹介します。 考えられる方法: 従来のまま New-PSSession に -Credential で資格情報を渡す従来の Exchange On...

Microsoft Graph で会議の別の時間を提案する

2020 年 7 月の更新で、会議出席依頼における新しい時間の提案に関するプロパティが Microsoft Graph に追加されました。 実際に動きを見てみましょう。まず以下のように User01 から User02 へ明示的に allowNewTimeProposals を true にした会議出席依頼を送信します。 POST { "subject": "Let's go for lunch", "body": { "contentType": "HTML", "content": "Does late morning work for...

NO IMAGE

OAuth を使って Exchange Online に POP で接続する

Exchange Online の基本認証無効化に向けて、POP でも OAuth がサポートされるようになりました。開発者向けの情報は以下のページに記載されています。 C# で実装する場合の基本的な内容を作成したので、以下にサンプル コードを紹介します。コード自体に対する説明は特にないので、上記の開発者向けページと併せて読んでいただければと思います。必要最低限の内容のみを実装しているため、本格的に実装を行うには Microsoft Identity Platform や POP の知識が必要になります。C# のコンソール アプリケーションとなっており、認証ライブラリとして MSAL ...

NO IMAGE

OAuth を使って Exchange Online に SMTP で接続する

Exchange Online の基本認証無効化に向けて、SMTP でも OAuth がサポートされるようになりました。開発者向けの情報は以下のページに記載されています。 C# で実装する場合の基本的な内容を作成したので、以下にサンプル コードを紹介します。コード自体に対する説明は特にないので、上記の開発者向けページと併せて読んでいただければと思います。必要最低限の内容のみを実装しているため、本格的に実装を行うには Microsoft Identity Platform や SMTP の知識が必要になります。C# のコンソール アプリケーションとなっており、認証ライブラリとして MSA...