---
title: "すべての連絡先データをエクスポートしてください"
slug: "export-all-contact-data"
abstract: "連絡先データをJSONにエクスポートする方法、ファセットやインタラクションを含めて。"
---
# すべての連絡先データをエクスポートしてください

データポータビリティの権利は、個人が自分のデータを自分のために取得・再利用する権利、または他のサービスのために利用する権利を与えます。拡張オプションを使って、単一の連絡先の利用可能なすべてのデータ(ファセットやインタラクションを含む)を取得してください。

> !重要エクスポートされたJSONには、PIISensitiveとマークされたファセットを抽出する場合、PII(個人識別情報)が含まれます。

以下の例では、面やインタラクションを含む連絡先のデータをJSONにエクスポートする方法を示します。この例ではclient.Model.Facetsプロパティを用いて、返すための接触面とインタラクション面のリストを作成します。このプロパティは、現在のモデルで利用可能な面キーを返します。Sitecoreコンテキストでは、[モデルは設定ファイルから読み込み](https://doc.sitecore.com/xp/ja/developers/91/sitecore-experience-platform/instantiate-client-in-a-sitecore-context.html "Instantiate client in a Sitecore context")ます。 [非SitecoreコンテキストでxConnect Client APIをインスタンス化](https://doc.sitecore.com/xp/ja/developers/91/sitecore-experience-platform/instantiate-client-in-a-non-sitecore-context.html "Instantiate client in a non-Sitecore context")する際、モデルの配列を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
 }
 }
 }
}