CrmServiceClient コンストラクターを使用した Dynamics 365 への接続

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

Microsoft Dynamics 365 に接続するには、CrmServiceClient クラスのインスタンスを作成してから、接続するコンストラクターの 1 つを使用します。CrmServiceClient クラスを使用した Dynamics 365 へのすべての呼び出しはスレッド セーフです。

このトピックで言及されるコンストラクター以外に、接続文字列をCrmServiceClientと共に使用して Dynamics 365 に接続することもできます。詳細:XRM ツールの接続文字列を使用して Dynamics 365に接続する

このトピックの内容

OrganizationServiceProxy を使用した Dynamics 365 への接続

OrganizationWebProxyClient を使用した Dynamics 365 への接続

Dynamics 365 (Online) (Office 365) への接続

OAuth を使用した Dynamics 365 (online) (Office 365) への接続

Dynamics 365 設置型への接続 (Active Directory)

Dynamics 365 インターネットに接続する展開 (IFD) への接続

OAuth を使用した Dynamics 365 インターネットに接続する展開 (IFD) への接続

Dynamics 365 への接続 (クレームベース)

接続状態を決定する

OrganizationServiceProxy を使用した Dynamics 365 への接続

ユーザー提供の OrganizationServiceProxy インスタンスを使用して Dynamics 365 に接続するには、次のコンストラクターを使用します。

CrmServiceClient crmSvc = new CrmServiceClient(<orgServiceProxy>);

OrganizationWebProxyClient を使用した Dynamics 365 への接続

ユーザー提供の OrganizationWebProxyClient インスタンスを使用して Dynamics 365 に接続するには、次のコンストラクターを使用します。 このコンストラクターは、Microsoft Dynamics 365 (オンラインおよび設置型) で導入されています。

CrmServiceClient crmSvc = new CrmServiceClient(<orgWebProxyClient>);

Dynamics 365 (Online) (Office 365) への接続

Office 365 の Dynamics 365 (オンライン) インスタンスに接続するには、次のコンストラクターを使用します。

CrmServiceClient crmSvc = new CrmServiceClient("<UserName>", CrmServiceClient.MakeSecureString("<Password>"), "<CrmRegion>", "<OrgName>", useUniqueInstance:false, useSsl:false, <orgDetail>, isOffice365:true);

<CrmRegion> パラメーターの有効な値は、NorthAmericaEMEAAPACSouthAmericaOceaniaJPNCANIND、および NorthAmerica2 です。 これを String.Empty に設定すると、Dynamics 365 の組織のすべての領域のサーバーが検索されます。<OrgName> パラメーターについては、一意の名前またはわかりやすい名前を指定できます。

次のパラメーターは任意です。useUniqueInstanceuseSsl、およびorgDetail

OAuth を使用した Dynamics 365 (online) (Office 365) への接続

OAuth プロトコルを使用して Office 365 の Dynamics 365 (オンライン) インスタンスに接続するには、次のコンストラクターを使用します。OAuth サポートは、Microsoft Dynamics 365 (オンラインおよび設置型) で導入されています。

CrmServiceClient crmSvc = new CrmServiceClient("<UserName>", CrmServiceClient.MakeSecureString("<Password>"), "<CrmRegion>", "<OrgName>", useUniqueInstance:false, <orgDetail>,
                  <userIdentifier>, <clientId>, <redirectUri>, <tokenCachePath>, <externalOrgWebProxyClient>, PromptBehavior.Auto);

このコンストラクターは、Microsoft Azure の Active Directory 認証ライブラリ (ADAL) を使用してユーザーを認証します。 ユーザーの資格情報 (ユーザー名とパスワード) が指定されていない場合は、コンストラクターで指定された PromptBehavior パラメーター (任意) に応じて ADAL はユーザーに資格情報を指定するように求めます。 ADAL では、OAuth プロトコルを使用して資格情報を認証し、Azure Active Directory からアクセス トークンおよびリフレッシュ トークンを取得してから、アクセス トークンを使用して Dynamics 365 に要求を行います。

<CrmRegion> パラメーターの有効な値は、NorthAmericaEMEAAPACSouthAmericaOceaniaJPNCANIND、および NorthAmerica2 です。 これを String.Empty に設定すると、Dynamics 365 の組織のすべての領域のサーバーが検索されます。<OrgName> パラメーターについては、一意の名前またはわかりやすい名前を指定できます。

Dynamics 365 設置型への接続 (Active Directory)

Active Directory 認証で設置型インスタンスに接続するには、次のコンストラクターを使用します。

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>", “<Domain>”), AuthenticationType.AD, "<Server>", "<Port>", "<OrgName>", useUniqueInstance:false, useSsl:false, <orgDetail>);

これにより、指定したドメインに基づいて、Active Directory 認証が実行されます。<Server> パラメーターについては、Dynamics 365 サーバーのホスト名、たとえば、crmtest を指定します。<OrgName> パラメーターについては、一意の名前またはわかりやすい名前を指定できます。

次のパラメーターは任意です。useUniqueInstanceuseSsl、およびorgDetail

Dynamics 365 インターネットに接続する展開 (IFD) への接続

Dynamics 365 IFD インスタンスに接続するには、次のコンストラクターを使用します。

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>", “<Domain>”), AuthenticationType.IFD, "<Server>", "<Port>", "<OrgName>", useUniqueInstance:false, useSsl:false, <orgDetail>);

これは、指定されたローカル ドメインに基づいて、クレームベース認証を実行します。 これは、AD FS を使用する上、Dynamics 365 サーバーをクレームとして構成したユーザーにとって有用です。この場合、ユーザー人口は、Dynamics 365 サーバーと同じ AD FS ドメインに存在します。<Server> パラメーターについては、Dynamics 365 サーバーのホスト名、たとえば、crmtest を指定します。<OrgName> パラメーターについては、一意の名前またはわかりやすい名前を指定できます。

次のパラメーターは任意です。useUniqueInstanceuseSsl、およびorgDetail

OAuth を使用した Dynamics 365 インターネットに接続する展開 (IFD) への接続

Windows Server 2012 R2 の Active Directory フェデレーション サービス (AD FS) で OAuth プロトコルを使用して Dynamics 365 IFD インスタンスに接続するには、次のコンストラクターを使用します。 このコンストラクターが動作するには、Microsoft Dynamics 365 Server がインストールされているコンピューターが Security Token Service (STS) として AD FS 2.2 を使用するように設定されている必要があります。Dynamics 365 IFD インスタンスに接続するための OAuth サポートは、Dynamics 365 で導入されています。

CrmServiceClient crmSvc = new CrmServiceClient("<UserName>", CrmServiceClient.MakeSecureString("<Password>"), "<HomeRealm>", "<HostName>", "<Port>", "<OrgName>", useSsl:true, useUniqueInstance:false, 
                        <orgDetail>, <userIdentifier>, <clientId>, <redirectUri>, <tokenCachePath>, externalOrgWebProxyClient, PromptBehavior.Auto);

OAuth をサポートするアプリケーションに対する clientId および redirectUri 値を IFD サーバーに登録する必要があります。

ユーザーの資格情報 (ユーザー名とパスワード) が指定されていない場合は、コンストラクターで指定された PromptBehavior パラメーター (任意) に応じて ADAL はユーザーに資格情報を指定するように求めます。 ADAL は、AD FS からのセキュリティ トークンを使用してユーザーを認証し、そのトークンを使用して Dynamics 365 でアクションを実行します。

Dynamics 365 への接続 (クレームベース)

クレームベース認証を使用するには、次のコンストラクターを使用します。

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>", “<Domain>”, "<HomeRealm>"),"<Server>", "<Port>", "<OrgName>");

これは、指定されたホームレルムに対して、クレームベース認証を実行します。 これは、AD FS を使用する上、Dynamics 365 サーバーをクレームとして構成したユーザーにとって有用です。この場合、ユーザー人口は、Dynamics 365 サーバーと同じ AD FS ドメインに存在します。<Server> パラメーターについては、Dynamics 365 サーバーのホスト名、たとえば、crmtest を指定します。<OrgName> パラメーターについては、一意の名前またはわかりやすい名前を指定できます。

接続状態を決定する

接続要求が成功したかどうかを決定するには、CrmServiceClientIsReady プロパティの値を確認します。true の場合、接続が成功し、実行する準備ができています。 それ以外の場合は、接続失敗の原因として、CrmServiceClient.LastCrmError プロパティと CrmServiceClient.LastCrmException プロパティの値を確認します。

関連項目

AuthenticationType
XRM ツールの接続文字列を使用して Dynamics 365に接続する
XRM ツール用の PowerShell コマンドレットを使用して Dynamics 365 に接続
XRM を使用して Dynamics 365 でアクションを実行
サンプル: Microsoft Dynamics 365 のクイック スタート
XRM ツールを使用して Windows のクライアント アプリケーションを作成する

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権