次の方法で共有


Web API を使用して組織の URL を検出します

Dynamics 365 for Customer Engagement Web API の探索サービスにより、アプリケーションは、ログオンしたユーザーが属する組織 (インスタンスとも呼ばれます) を実行中に判断できます。 インスタンス サービス URL、Customer Engagement リリース バージョン、インスタンスの ID などの、これらのインスタンスに関する詳細情報を取得できます。 標準 $filter および $select パラメーターを Web API サービス要求に使用して、返されたインスタンス データのリストをカスタマイズできます。

Note

オンラインユーザに適用可能なドキュメントが、 Power Apps ドキュメントが利用できるようになりました: Web API を使用した自社組織のURLを検出する.

インスタンス URL が将来的に変わる可能性がある場合、クライアント アプリケーションは Customer Engagement インスタンスにアクセスする必要があります。 たとえば、Customer Engagement インスタンスが、1 つの オンプレミス データセンターから別のデータセンターに移る場合。 検出サービスは、クライアント インスタンスが、インスタンス ID またはインスタンスの一意の名前を保持し、探索サービスを使用して現在のインスタンスのアクセス URL を検索できるようにします。

探索サービスによって提供された情報

組織情報は、探索サービスの Instance エンティティに保存されます。 そのエンティティに含まれている情報を表示するには、まずインスタンスの 1 つのサービスに HTTP GET 要求を送信します。

GET https://dev.{servername}/api/discovery/v9.1/Instances(UniqueName='myorg')  

上記の例では、探索サービスを使用して、「myorg」という一意の名前のインスタンスの組織情報を取得しています。 この要求に関する詳細については、このトピックの後半で詳しく説明します。

返される情報のスコープ

地域的探索サービスの場合、 Instances エンティティ セットは、フィルターが適用されない場合、特定の地域のユーザーがアクセスする一連のインスタンスを返します。 次の説明に従って、返されたデータのスコープがあります。

  • ユーザー アカウントが無効の場合、インスタンスは含まれません。

  • インスタンス セキュリティ グループに基づいて、ユーザーがフィルターによって除外された場合、インスタンスは含まれません。

  • ユーザーが代理管理者であるためアクセス権を持っている場合、インスタンスは含まれません。

  • 呼び出し元ユーザーがインスタンスへのアクセス権を持っていない場合は、応答は、空のリストを返します。

探索サービスへのアクセス方法

一般に、探索サービスの Web API アドレスには、次の形式があります。 <service base address>/api/discovery/。 展開の種類ごとのアドレスは以下のように識別します。 設定 > カスタマイズ > 開発者リソースに移動して、Customer Engagement Web アプリケーションで、展開の Web API アドレスおよびバージョン番号を簡単に検索できます。

設置型または IFD 展開の場合の探索サービスのサービス ベース アドレスは、http[s]://{servername}/ または http[s]://dev.{servername}/ です。 この結果、http[s]://{servername}/api/discovery/ or http[s]://dev.{servername}/api/discovery/ のサービス アドレスになります。

探索サービスの使用

Instances という名前のエンティティ セットを使用して、インスタンス情報を取得します。 返されたデータをフィルター処理するようにセットされたインスタンス エンティティで$select$filter を使用できます。 または $metadata を使用して、サービスのメタデータ ドキュメントを取得できます。

認証

オンプレミス型、あるいは Discovery OData V4 RESTful API のインスタンスでは、信頼性の高いトークン プロバイダからの統合 Windows 認証(IWA)、または OAuth トークンのいずれかに対応する、導入環境の認証モデルを採用しています。 Web アプリケーションセッション認証はサポートされていません。

Web API バージョン

データセンターまたは設置型/IFD の探索サービスのバージョンはサポートされており、組織サービスで使用されるバージョン番号と一致しています。 たとえば、次のようなものです。

GET https://dev.{servername}/api/discovery/v9.1/Instances(UniqueName='myorg')  

CORS サポート

探索サービス RESTful API は、Web API のように、クロス オリジン アクセスの CORS 規格に対応しています。 CORS サポートの詳細については、OAuth を使用するクロス オリジン リソース共有を使用して単一ページのアプリケーションへ接続する を参照してください。

  • 特定のインスタンスの詳細を取得します。 GUID を省くと、認証されたユーザーがアクセスできるすべてのインスタンスが返されます。

    GET https://dev.{servername}/api/discovery/v9.1/Instances(<guid>)  
    
  • 代替キーとして UniqueName 属性を使用できます。

    GET https://dev.{servername}/api/discovery/v9.1/Instances(UniqueName='myorg')  
    
  • 運用の種類によってフィルター処理された、利用可能なインスタンスのリストを取得します。

    GET https://dev.{servername}/api/discovery/v9.1/Instances?$select=DisplayName,Description&$filter=Type+eq+0   
    
  • 特定のインスタンスの ID プロパティの値を取得します。

    GET https://dev.{servername}/api/discovery/v9.1/Instances(UniqueName='myorg')/Id/$value  
    

関連項目

Web API グローバル検索サービスのサンプル (C#)