Microsoft Graph 呼び出しレコード API に関する FAQ
このトピックでは、Microsoft Graph の呼び出しレコード API に関してよく寄せられる質問に対する回答を示します。
Microsoft Graph 呼び出しレコード API とは
Microsoft Graph 呼び出しレコード API は、Microsoft TeamsまたはSkype for Businessを使用するときにorganization内で発生する通話とオンライン会議の使用状況と診断分析情報を提供します。 "テナント" とも呼ばれる組織は、呼び出しレコード API を使用して、サブスクライブ、一覧表示、呼び出し ID による呼び出しレコードの取得、参加者の呼び出しの検索を行うことができます。 詳細については、「 Microsoft Graph での呼び出しレコード API の操作」を参照してください。
呼び出しレコード API を使用するために必要なアクセス許可はどれですか?
Microsoft Graph の通話レコードにアクセスするには、アプリケーションに CallRecords.Read.All アクセス許可が必要です。 管理者は、このアクセス許可をアプリケーションに付与する必要があります。 詳細については、「Microsoft Graph のアクセス許可リファレンス」を参照してください。
呼び出しレコード API で委任されたアクセス許可を使用できますか?
いいえ。呼び出しレコード API では、委任されたアクセス許可はサポートされていません。
呼び出しレコード API で委任されたアクセス許可を使用できないのはなぜですか?
CallRecords.Read.All アクセス許可を特定の呼び出しまたはユーザーに制限する方法がないため、委任されたアクセス許可を使用することはできません。 アプリケーションのアクセス許可は、個々のユーザー レベルではなく、organization レベルで付与されます。
操作方法呼び出しレコード API を使用して呼び出しレコードを要求しますか?
呼び出しレコードを要求するには、/communications/callRecords/{id}
エンドポイントにGET
要求を行う必要があります。ここで、{id}
は呼び出しの一意の識別子です。
CallRecords.Read.All アクセス許可があることを確認し、有効なベアラー トークンを持つ Authorization ヘッダーを含めます。 詳細については、 callRecord の取得に関するドキュメントを参照してください。
organizationで発生した呼び出しの呼び出し ID はどこで確認できますか?
呼び出し ID は、次の方法で見つけて収集できます。
- 通知をサブスクライブする: 新しい呼び出しレコードが作成されるたびに 、変更通知フィード をサブスクライブし、通話 ID を含む通知を受信します。
- 呼び出しレコードの一覧表示: List callRecords API から要求することで、呼び出し ID の一覧を取得します。
- 手動検索: Microsoft Teamsの Teams 管理 センター内で Call Analytics にアクセスできる場合は、ユーザーの履歴で通話 ID を手動で検索できます。 ただし、Call Analytics からすべての呼び出し ID を取得できる自動システムはありません。
-
callChainId:: 呼び出しが完了した後、Get 呼び出し API から
callChainId
を使用して 呼び出し ID を検索します。 呼び出しがプログラムによって作成され、呼び 出しリソースの種類を使用している場合は、この方法を使用します。 また、callChainId
は、アーキテクチャの詳細により、転送呼び出しなどの特定のシナリオで呼び出しレコード ID と異なる場合があります。 そのため、可能な場合は、この一覧の他のメソッドを使用します。
通話レコードはいつ利用できますか?
通常、通話レコードの最初のバージョンが生成され、通話が終了してから 30 分以内に通知が送信されます。 ただし、サービスで通話レコードが使用可能になるまでに最大 150 分かかる場合があります。 詳細については、「 待機時間 」ページを参照してください。
通話レコードはどのくらいの期間保持されますか?
通話レコードは、通話終了後 30 日間保持されます。
30 日を超える通話レコードを取得できますか?
いいえ。呼び出しレコード API は、30 日を超える呼び出しレコードを返しません。 このようなレコードを要求すると、 404 Not Found
エラー応答が発生します。
最初の通話レコード通知が遅れるのはなぜですか?
通話レコードの最初 のバージョンが 使用可能になるまでに最大 150 分かかる場合があるため、通話レコードの通知が遅れる可能性があります。 最初の呼び出しレコード バージョンの配信の遅延が長くなる場合は、Teams 管理 ポータルの [正常性] タブで、呼び出しレコード API チームによって報告された停止のチェック。 また、呼び出しレコード API チームで サポート チケット を開くこともできます。
後続のバージョンの通話レコードが遅延する理由
以降のバージョンの呼び出しレコードは、最初の 150 分の待機時間の後に配信できます。 つまり、最初のバージョンは 150 分以内に使用できますが、クライアントからのテレメトリの遅延やその他の要因により、呼び出しレコードの後の更新が後で到着する可能性があります。
通話レコードにフィールドが見つからないのはなぜですか?
呼び出しレコードには、クライアントからのテレメトリの遅延が原因でフィールドが見つからない場合があります。 新しいテレメトリ データが使用可能になると、更新された情報を含む新しい呼び出しレコードが生成され、 version
プロパティ値がインクリメントされ、更新された呼び出しレコードが送信されます。 通話レコードにプロパティがない場合は、次の呼び出しレコードのバージョンを待ちます。
ただし、一部のフィールドは、デザインによって空のままになる場合や、メディア ストリームの値など、クライアント テレメトリが到着しなかったために重要です。
重要なフィールドまたは以前に配信されたフィールドが見つからない場合は、呼び出しレコード API チームで サポート チケット を開きます。
通話に参加したすべての参加者を一覧表示するにはどうすればよいですか?
次のメソッドを使用して、参加しているすべての通話参加者を一覧表示できます。
PARTICIPANTS_V2 API を一覧表示する
List participants_v2 API を使用して、要求された呼び出し ID の参加者の完全な一覧を収集します。
callRecords オブジェクトの $expand OData クエリ パラメーターを使用して、participants_v2 プロパティを展開します
GET communications/callRecords/{id}?$expand=participants_v2
を呼び出して、参加者の一覧と共に高レベルの通話の詳細を取得できます。カスタム参加者リストを作成する
すべての参加者を表示するには、カスタム ソリューションを実装して、通話レコード データから参加者リストを作成します。
-
Get callRecord API を呼び出し、
sessions
プロパティ (GET /communications/callRecords/{id}?$expand=sessions
) を展開します。 - ピアツーピア (P2P) 呼び出しの場合は、受信した
sessions
リストの各session
からcaller
プロパティとcallee
プロパティの両方を読み取る。 会議の呼び出しの場合は、caller
プロパティのみを読み取る。 -
caller
エンドポイント ID に基づいてカスタム参加者リストを作成します。 P2P 呼び出しの場合は、callee
エンドポイント ID も含 めます。 各参加者に必要なid
、displayName
、その他のプロパティを収集します。
-
Get callRecord API を呼び出し、
呼び出しリストparticipants_v2 API の呼び出し中に通話に参加したすべての参加者が表示されないのはなぜですか?
List participants_v2 API では改ページがサポートされているため、すべての参加者が表示されない場合があります。応答の参加者数は 1 ページあたり 130 人に制限されています。 通話に 130 人を超えるユーザーがいた場合、最初の通話レコード応答には、130 人の参加者と @odata.nextLink
プロパティが含まれます。 このプロパティには、API を呼び出し、次の参加者のセットを受け取る URL が含まれています。 次のリンクが空になるまでこのプロセスを続行します。これは、取得する参加者がもういないことを示します。
1 つの通話レコードに対して重複セッションが返されるのはなぜですか?
通話レコード セッション は、ピアツーピア通話での 1 人のユーザーとユーザーの通信、またはグループ通話または会議での単一のユーザー サービス通信を一意に表します。 ただし、一部の呼び出しシナリオでは、1 つのユーザー サービス通信に、自動応答と呼び出しキュー間の仮想転送など、1 つのセッションで複数のサービス ID が含まれる場合があります。 これらのシナリオでは、通信に関係する各 ID とそれぞれの通信期間を適切に表すために、セッション ID が 1 回以上複製される可能性があります。
404 Not Found エラーが表示されるのはなぜですか?
404 Not Found
エラーが発生する理由を次に示します。
- 最近の呼び出し: 呼び出しが過去 150 分以内に行われた場合、呼び出しレコードがまだ生成されていない可能性があります。 通話が終了してから 150 分待ってから、もう一度やり直してください。
-
古い呼び出し: 呼び出しが 30 日を超える場合、呼び出しレコード API は設計上
404 Not Found
エラーを返します。 - その他の問題: どちらの理由も適用されない場合は、Teams 管理 ポータルの [正常性] タブで、呼び出しレコード API チームによって報告された停止についてチェックします。 また、通話レコード API チームと共に サポート チケット を開いてサポートを受けることもできます。