はじめに
自分のブログにPostmanからMicrosoft Graph APIを実行する方法が書いてあると思ったらPostmanからDataverse Web APIを実行する方法しか書いてなかったのでまとめました。
なんで書いてないんだよ。
AADにアプリケーションを登録する
アプリケーションの作成
Azure Active Directoryのアプリの登録よりAADアプリケーションを作成します。
- 名前
アプリケーションの表示名を設定します。 - サポートされているアカウントの種類
APIを利用できる範囲を設定します。
今回は「この組織ディレクトリのみに含まれるアカウント」を設定します。 - リダイレクトURI
ユーザ認証成功時のリダイレクトURIを設定します。
この設定は省略可能で、後程変更も可能ではありますが、必要な項目なので設定しておきましょう。
「Web」のほかに、「パブリック クライアント/ネイティブ」「SPA」があります。
なんでもいいですが、迷ったら公式ドキュメントに記載されているhttps://oauth.pstmn.io/v1/browser-callback
を設定しておきましょう。
APIのアクセス許可
続いて「APIのアクセス許可」よりこの認証情報を用いて利用したいアクセス許可を設定します。
- 「アクセス許可の追加」を選択します
- 「Microsoft Graph」を選択します
- 付与したいアクセス許可の種類を選択します
- 任意のアクセス許可を選択して下部にある「アクセス許可の追加」を選択します
シークレットキーの発行
最後に「証明書とシークレット」よりシークレットキーの発行を行います。
「新しいクライアントシークレット」を選択してシークレットキーの発行を行っておきましょう。
Microsoft Graph APIのPostmanコレクションをフォークする
このStepは飛ばしてもOKです。
利用することでGraph Explorerで右側にでてくるようなサンプルのAPIを利用できるようになります。
- Postman に移動し、サインインします。
- Microsoft Graph というラベルの付いた Postman コレクションに移動します。
- 独自のフォークのラベルを入力します。任意のテキストを指定できます。
- [ワークスペース] で、[マイ ワークスペース] がドロップダウン リストで選択されていることを確認します。
- [フォーク コレクション] を選択します。
(公式からの引用 )
PostmanからGraph APIを実行する
認証情報を設定する
Postmanを起動し、「Enviroments」より認証に利用する環境変数を設定します。
設定情報は以下コピペで利用できます。
認証情報は個人の認証情報を設定してください。
[ { "key": "clientId", "value": "", "type": "secret", "enabled": true }, { "key": "secret", "value": "", "type": "secret", "enabled": true }, { "key": "tenant", "value": "", "type": "secret", "enabled": true }, { "key": "callback", "value": "", "type": "secret", "enabled": true }, { "key": "authurl", "value": "https://login.microsoftonline.com/{{tenant}}/oauth2/v2.0/authorize", "type": "default", "enabled": true }, { "key": "accesstokenurl", "value": "https://login.microsoftonline.com/{{tenant}}/oauth2/v2.0/token", "type": "default", "enabled": true }, { "key": "scope", "value": "https://graph.microsoft.com/.default", "type": "default", "enabled": true } ]
認証情報はここの値です。
clientId
secret
tenent
callback
Authorizationを設定する
Collectionタブに移動し、「Authhorization」を選択します。
「Type」は「OAuth 2.0」です。
Tokenには以下のように先ほど作成した環境変数を設定します。
設定したら、下部の「Get New Access Token」を選択します。
選択すると、認証画面が開きますので、サインインを行います。
その後、以下画面がPostmanで表示されますので、「Procced」を選択して、その後表示されたTokenを利用します。
これで認証情報の設定は完了です。
ここで取得したTokenを他でも利用したい場合は「Current Token」の「Token」より先ほど生成されたTokenを選択します。
Graph APIを実行する
実行したいAPIを選択して、「Send」を選択します。
下部にある「Body」にて実行結果が正しく返ってくれば問題なく実行できています。
ここで実行できない場合は、AADに登録したアプリケーションのAPIのアクセス許可が足りない可能性が高いです。
再度見直してみてください。
おわりに
Power AutomateのOffice 365 GroupsコネクタのHTTPアクションを利用した場合は、コネクタ自体が認証情報を持っているのでこのような操作はいらないのですが、Postmanなどの外部からGraph APIを利用しようとするとこのようにAADでのアプリケーション登録を行った上で認証を行う必要があるのでその辺も意識して利用しましょう。
ブログ内でAzureで表示されているセンシティブな情報にモザイクがかかっていますが、これはAZ Maskという拡張機能を利用しています。
気になった方は利用してみてください。