---
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
 }));

To access the contact and its facets when the interaction is returned, you must cast \`interaction.Contact\` (which is of type \`IEntityReference<Contact>\`) to a \`Contact\`. In the following example, a number of interactions are retrieved by ID and their associated contacts are expanded with the \`PersonalInformation\` facet:

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
 }
 }
 }
 }
}