Microsoft Graph のビジネス シナリオ API を使用してPlannerと統合する (プレビュー)
重要
Microsoft Graph の /beta
バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
ビジネス シナリオ API を使用すると、シナリオ制御ポリシーを使用したPlanner タスクを、指定されたターゲットに作成できます。
Planner構成
アプリは、ビジネス シナリオ API を使用するときに、Planner エンティティを 2 つの方法で構成できます。 サポートされている方法を次に示します。
- シナリオ タスクをホストするために作成されたプランの要素を定義するプラン構成
- ユーザーとアプリケーションに対して作成されたタスクの動作を制御するタスク構成
プランの構成
プラン構成は、 plannerPlanConfiguration エンティティによって表されます。 プランの構成では、アプリケーションは、プランに表示されるバケット、これらのバケットの順序、プランのタイトル、バケットの名前を構成できます。 各バケットは、タスクを作成または更新して正しいバケットに配置するときに使用できる外部 ID によって識別されます。 プラン構成で構成されたバケットでは、使用する名前は指定されません。代わりに、この情報はローカライズされた名前の一部です。 プランの構成では、プランとバケットのローカライズされた名前と、既定の言語コードも指定します。 現在、作成された項目は既定の言語を使用しています。
タスクの構成
タスク構成は、 plannerTaskConfiguration エンティティによって表されます。 タスク構成では、アプリケーションは、シナリオによって管理されるタスクを使用するアプリケーションとユーザーへのアクセスを制限するポリシーを構成できます。 ポリシーは ロール別にグループ化されます。 各ロールは呼び出し元のグループを識別し、各グループに対して異なるルールを指定できます。 特定の呼び出しに適用されるルールは、次の順序で選択されます。 要求がタスクを変更する場合は、最初に指定されたルールのみが適用されます。
-
taskAssignees
: 呼び出しを行うユーザーにターゲット タスクが割り当てられている場合に適用されます。 -
groupOwners
: 呼び出しを行うユーザーが、ターゲット タスクのプランが存在するコンテナーの所有者である場合に適用されます。 -
groupMembers
: 呼び出しを行うユーザーが、タスクのプランが存在するコンテナーのメンバーである場合に適用されます。 -
applications
: 呼び出し元がアプリケーションのアクセス許可であるため、呼び出しがユーザーに関連付けられていない場合に適用されます。 -
defaultRules
: 他の条件が一致しない場合に適用されます。
メモ: これらの規則は、呼び出し元が実行できる操作を制限しますが、それ以外の場合は許可されない操作を呼び出し元が実行することを許可することはできません。
各ロールは、既定のルールと、タスク上の特定のアクションとフィールドのルールを指定します。 既定の規則は、 または block
であるallow
必要があります。 アクションまたはフィールドにルールが定義されていない場合は、既定のルールを使用して、 に対 allow
して無制限に保つか、 に対して使用 block
をブロックします。 これは、新しいプロパティとアクションを構成できるが、これらのルールを指定するようにシナリオ構成がまだ更新されていない場合に適用されます。
ルールの使用方法の詳細については、「Plannerでのタスク ルールの構成」を参照してください。
タスクをターゲットにする方法
作成されたタスクは、作成時に指定されたターゲットに基づいてプランに配置されます。 現在のバージョンでは、 グループ をターゲットにすることができます。 タスクは、そのグループ内のシナリオに関連付けられた プラン に配置されます。 グループにシナリオの計画がない場合は、プランの構成に基づいて新しいプランが作成されます。
タスクのメタデータと動作
タスクの一部として、 シナリオ プロパティ が必要です。 これらのプロパティには、タスクごとに指定する必要があるタスクの外部 ID が含まれます。 この値はテナント内で一意である必要があります。 同じ外部 ID を持つ 2 番目のタスクを作成すると、最初のタスクが変更されずに返されます。 タスクを操作するときに、外部 ID を代替キーとして使用することもできます。 さらに、タスクごとにコンテキスト ID を指定できます。 この値を使用すると、同じコンテキスト ID を持つタスクに対してクエリを実行できるため、アプリケーションは複数のプランでタスクをグループ化できます。