1. 連絡先を操作する

すべての連絡先データをエクスポートする

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

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

データポータビリティの権利により、個人は自分の個人データを自分自身で使用したり、別のサービスに使用したりするために取得および再利用する権利が与えられます。展開オプションを使用して、ファセットやインタラクションなど、単一の連絡先で使用可能なすべてのデータを取得します。

大事な

エクスポートされたJSONには、PIISensitiveとマークされたファセットを抽出することを選択した場合、PII(個人を特定できる情報)が含まれます。

次の例は、コンタクトのデータ(ファセットやインタラクションなど)をJSONにエクスポートする方法を示しています。この例では、client.Model.Facetsプロパティを使用して、返す連絡先ファセットとインタラクション ファセットのリストを作成します。このプロパティは、現在のモデルで使用可能なファセット・キーを返します。Sitecoreのコンテキストでは、 モデルは設定ファイルから読み込まれます 非SitecoreコンテキストでxConnect Client APIをインスタンス化する場合、モデルの配列をXConnectClientConfigurationオブジェクトに渡すことができます。

using Newtonsoft.Json;
using Sitecore.XConnect;
using Sitecore.XConnect.Client;
using Sitecore.XConnect.Client.Serialization;
using System;
using System.Linq;


namespace Documentation.Examples
{
    class GetAllData
    {
        public async void AsyncExample()
        {
            try
            {
                using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient())
                {
                    try
                    {
                        var contactReference = new IdentifiedContactReference("twitter", "myrtlemcsitecore");

                        // Get all available contact facets in current model
                        var contactFacets = client.Model.Facets.Where(c => c.Target == EntityType.Contact).Select(x => x.Name);

                        // Get all available interaction facets in current model
                        var interactionFacets = client.Model.Facets.Where(c => c.Target == EntityType.Interaction).Select(x => x.Name);

                        var contact = await client.GetAsync<Contact>(contactReference, new ContactExecutionOptions(new ContactExpandOptions(contactFacets.ToArray())
                        {
                            Interactions = new RelatedInteractionsExpandOptions(interactionFacets.ToArray())
                            {
                                // Get all interactions
                                EndDateTime = DateTime.MaxValue,
                                StartDateTime = DateTime.MinValue
                            }
                        }));


                        // Serialize response
                        // Note special XdbJsonContractResolver - mandatory for serializing xConnect entities
                        var serializerSettings = new JsonSerializerSettings
                        {
                            ContractResolver = new XdbJsonContractResolver(client.Model,
                                serializeFacets: true,
                                serializeContactInteractions: true),
                            Formatting = Formatting.Indented,
                            DateTimeZoneHandling = DateTimeZoneHandling.Utc,
                            DefaultValueHandling = DefaultValueHandling.Ignore
                        };

                        string allData = JsonConvert.SerializeObject(contact, serializerSettings);
                        string name = "ContactData.json";

                        System.IO.File.WriteAllText(name, allData);

                    }
                    catch (XdbExecutionException ex)
                    {
                        Console.WriteLine("An error occurred");
                    }
                }

            }
            catch (XdbExecutionException ex)
            {
                // Handle exception
            }
        }

        public void SyncExample()
        {
            try
            {
                using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient())
                {
                    try
                    {
                        var contactReference = new IdentifiedContactReference("twitter", "myrtlemcsitecore");

                        // Get all available contact facets in current model
                        var contactFacets = client.Model.Facets.Where(c => c.Target == EntityType.Contact).Select(x => x.Name);

                        // Get all available interaction facets in current model
                        var interactionFacets = client.Model.Facets.Where(c => c.Target == EntityType.Interaction).Select(x => x.Name);

                        var contact = client.Get<Contact>(contactReference, new ContactExecutionOptions(new ContactExpandOptions(contactFacets.ToArray())
                        {
                            Interactions = new RelatedInteractionsExpandOptions(interactionFacets.ToArray())
                            {
                                // Get all interactions
                                EndDateTime = DateTime.MaxValue,
                                StartDateTime = DateTime.MinValue
                            }
                        }));


                        // Serialize response
                        // Note special XdbJsonContractResolver - mandatory for serializing xConnect entities
                        var serializerSettings = new JsonSerializerSettings
                        {
                            ContractResolver = new XdbJsonContractResolver(client.Model,
                                serializeFacets: true,
                                serializeContactInteractions: true),
                            Formatting = Formatting.Indented,
                            DateTimeZoneHandling = DateTimeZoneHandling.Utc,
                            DefaultValueHandling = DefaultValueHandling.Ignore
                        };

                        string allData = JsonConvert.SerializeObject(contact, serializerSettings);
                        string name = "ContactData.json";

                        System.IO.File.WriteAllText(name, allData);

                    }
                    catch (XdbExecutionException ex)
                    {
                        Console.WriteLine("An error occurred");
                    }
                }

            }
            catch (XdbExecutionException ex)
            {
                // Handle exception
            }
        }
    }
}
この記事を改善するための提案がある場合は、 お知らせください!