1. xConnectの使用を開始する

連絡先とインタラクションのデータを作成、取得、検索

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

xConnectクライアントAPI

xConnect Client APIを使用すると、コンタクトおよびインタラクション データを作成、取得、検索できます。コレクション・データベースまたは検索索引に直接アクセスできるクライアントはありません。基盤となるRESTフルWeb APIはoDataプロトコルを実装し、すべての通信はHTTPS経由で行われます。

次の例は、SitecoreコンテキストでxConnectクライアントAPIのインスタンスを取得する方法を示しています。

using Sitecore.XConnect;
using System;
using System.Threading.Tasks;
using System.Linq;

namespace Documentation
{
    public class GetFacetsMultiple
    {
        public async void Example()
        {
            using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient())
            {
                try
                {
                    // Get, create, or search experience data here
                }
                catch (XdbExecutionException ex)
                {
                    // Handle exceptions
                }
            }
        }
    }
}

xConnectエンドポイントは、\App_Config\ConnectionStrings.configファイルで構成されます。開発者環境では、CollectionとSearchはxdb.collectionという名前の1つのエンドポイントを共有します。

xConnectクライアントAPIは、Sitecoreの外部でも使用できます。次の例は、コンソール アプリケーションからxConnectクライアントAPIを使用する方法を示しています。

using Sitecore.XConnect;
using Sitecore.XConnect.Client;
using Sitecore.XConnect.Schema;
using System;
using System.Threading.Tasks;
using Sitecore.XConnect.Client.WebApi;
using Sitecore.Xdb.Common.Web;
using Sitecore.XConnect.Collection.Model;
using System.Collections.Generic;
using Sitecore.Xdb.Common.Web;

namespace Documentation
{
    public class Program
    {
        private static void Main(string[] args)
        {
            MainAsync(args).ConfigureAwait(false).GetAwaiter().GetResult();
        }

        private static async Task MainAsync(string[] args)
        {
            CertificateHttpClientHandlerModifierOptions options =
            CertificateHttpClientHandlerModifierOptions.Parse("StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint;FindValue=15E6693B0AECB63DE57D991EC363CA462DC52432");

            var certificateModifier = new CertificateHttpClientHandlerModifier(options);

            List<IHttpClientModifier> clientModifiers = new List<IHttpClientModifier>();
            var timeoutClientModifier = new TimeoutHttpClientModifier(new TimeSpan(0, 0, 20));
            clientModifiers.Add(timeoutClientModifier);

            var collectionClient = new CollectionWebApiClient(new Uri("https://xconnect/odata"), clientModifiers, new[] { certificateModifier });
            var searchClient = new SearchWebApiClient(new Uri("https://xconnect/odata"), clientModifiers, new[] { certificateModifier });
            var configurationClient = new ConfigurationWebApiClient(new Uri("https://xconnect/configuration"), clientModifiers, new[] { certificateModifier });

            var cfg = new XConnectClientConfiguration(
                new XdbRuntimeModel(CollectionModel.Model), collectionClient, searchClient, configurationClient);

            try
            {
                await cfg.InitializeAsync();

            }
            catch (XdbModelConflictException ce)
            {
                Console.WriteLine("ERROR:" + ce.Message);
                return;
            }

            using (var client = new XConnectClient(cfg))
            {
            }
        }
    }
}

xConnectの拡張

開発者は、次の方法でxConnectを拡張できます。

この記事を改善するための提案がある場合は、 お知らせください!