d-msgraph-cli を使用するには、Microsoft Entra ID (旧 Azure AD) にアプリケーションを登録する必要があります。このガイドでは、その手順を説明します。
- Azure サブスクリプション
- Microsoft Entra ID の管理者権限(API のアクセス許可に管理者の同意を付与するため)
- Azure Portal にサインインします
- Microsoft Entra ID を開きます
- 左メニューから アプリの登録 を選択します
- 新規登録 をクリックします
- 以下の情報を入力します:
- 名前:
d-msgraph-cli(任意の名前で構いません) - サポートされるアカウントの種類: 「この組織ディレクトリのみに含まれるアカウント」を選択
- リダイレクト URI: 空のままにします
- 名前:
- 登録 をクリックします
登録完了後、概要ページに表示される以下の値を記録してください:
- アプリケーション (クライアント) ID (
Application (client) ID) - ディレクトリ (テナント) ID (
Directory (tenant) ID)
- 左メニューから API のアクセス許可 を選択します
- アクセス許可の追加 をクリックします
- Microsoft Graph を選択します
- 委任されたアクセス許可 を選択します
- 以下のアクセス許可を検索して追加します:
User.Read- サインインしたユーザーのプロフィール読み取りMail.Read- メールの読み取りMail.Send- メールの送信Calendars.ReadWrite- カレンダーの読み書き
- アクセス許可の追加 をクリックします
- 「(テナント名) に管理者の同意を与えます」 をクリックして、管理者の同意を付与します
デバイスコードフロー(対話的ログイン)を使用するために、パブリッククライアントフローを有効にします。
- 左メニューから 認証 (もしくは Authentication (Preview) )を選択します
- ページ下部の 詳細設定 セクションを探します(もしくは 設定 タブ)
- パブリック クライアント フローを許可する を はい に設定します
- 保存 をクリックします
Client Credentials フロー(ユーザー操作なしの自動認証)を使用する場合は、クライアントシークレットが必要です。
- 左メニューから 証明書とシークレット を選択します
- クライアント シークレット タブで 新しいクライアント シークレット をクリックします
- 説明と有効期限を設定して 追加 をクリックします
- 生成された 値 を記録します(この画面を離れると再表示できません)
注意: Client Credentials フローを使用する場合は、API のアクセス許可で「委任されたアクセス許可」の代わりに「アプリケーションのアクセス許可」を追加し、管理者の同意を付与する必要があります。
プロジェクトのルートディレクトリに .env ファイルを作成し、以下の環境変数を設定します。
# 必須
AZURE_CLIENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
AZURE_TENANT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# Client Credentials フロー使用時のみ
AZURE_CLIENT_SECRET=your-client-secret-valueAZURE_CLIENT_ID: 手順1で記録したアプリケーション (クライアント) IDAZURE_TENANT_ID: 手順1で記録したディレクトリ (テナント) IDAZURE_CLIENT_SECRET: 手順4で記録したクライアントシークレットの値(Client Credentials フロー使用時のみ)
注意:
.envファイルには機密情報が含まれるため、Git リポジトリにコミットしないでください。.gitignoreに.envが含まれていることを確認してください。