---
title: "関連連絡先を拡大"
slug: "expand-related-contact"
abstract: "インタラクションや複数のインタラクションを取り戻した際、コンタクトやコタクトファセットを返す方法。"
---
# 関連連絡先を拡大

相互作用または相互作用の集合を取得すると、RelatedContactExpandOptionsを使って関連する接触面および接触面を返すことができます。

var interactionTask = client.GetAsync<Interaction>(references, new InteractionExecutionOptions(new InteractionExpandOptions(WebVisit.DefaultFacetKey)
 {

 Contact = new RelatedContactExpandOptions(PersonalInformation.DefaultFacetKey) // Pass in all contact facets that you want to return
 }));

相互作用が戻った際に接触とその面にアクセスするには、interaction.Contact (型IEntityReference<Contact>)をContactにキャストしなければなりません。次の例では、IDによって複数の相互作用が取得され、それらに対応する接触がPersonalInformation面で展開されます。

using Sitecore.XConnect.Collection.Model;
using Sitecore.XConnect;
using System;
using Sitecore.XConnect.Client;

namespace Documentation
{
 public class GetInteractionWithContact
 {
 // Async Example
 public async void ExampleAsync()
 {
 using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient())
 {
 try
 {

 // Contact reference from ID
 var contactRef = new Sitecore.XConnect.ContactReference(Guid.Parse("B9814105-1F45-E611-82E6-34E6D7117DCB"));
 InteractionReference interactionRef = new Sitecore.XConnect.InteractionReference(contactRef, Guid.Parse("DA2DA5F0-4348-E611-82E7-34E6D7117DCB"));

 var interactionTask = client.GetAsync<Sitecore.XConnect.Interaction>(interactionRef, new InteractionExecutionOptions(new Sitecore.XConnect.InteractionExpandOptions(WebVisit.DefaultFacetKey)
 {
 Contact = new RelatedContactExpandOptions(PersonalInformation.DefaultFacetKey)
 }
 ));

 var interaction = await interactionTask;

 var webVisitFacet = interaction.GetFacet<WebVisit>();
 var contact = interaction.Contact as Contact; // You must cast the contact reference to a contact entity
 var contactFacet = contact.GetFacet<PersonalInformation>(PersonalInformation.DefaultFacetKey); // May be null if contact does not have a PersonalInformation facet set
 }
 catch (XdbExecutionException ex)
 {
 // Manage exceptions
 }
 }
 }

 public void ExamplSync()
 {
 using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient())
 {
 try
 {

 // Contact reference from ID
 var contactRef = new Sitecore.XConnect.ContactReference(Guid.Parse("{B9814105-1F45-E611-82E6-34E6D7117DCB}"));
 InteractionReference interactionRef = new Sitecore.XConnect.InteractionReference(contactRef, Guid.Parse("DA2DA5F0-4348-E611-82E7-34E6D7117DCB"));

 var interaction = client.Get<Sitecore.XConnect.Interaction>(interactionRef, new InteractionExecutionOptions(new Sitecore.XConnect.InteractionExpandOptions(WebVisit.DefaultFacetKey)
 {
 Contact = new RelatedContactExpandOptions(PersonalInformation.DefaultFacetKey)
 }));

 var webVisitFacet = interaction.GetFacet<WebVisit>();
 var contact = interaction.Contact as Contact; // You must cast the contact reference to a contact entity
 var contactFacet = contact.GetFacet<PersonalInformation>(PersonalInformation.DefaultFacetKey); // May be null if contact does not have a PersonalInformation facet set
 }
 catch (XdbExecutionException ex)
 {
 // Manage exceptions
 }
 }
 }
 }
}