Web サービスを使用して 2 つのユーザー プロファイルで共通するものを見つける

最終更新日: 2008年5月30日

適用対象: SharePoint Server 2010

ユーザー プロファイル サービスという Web サービスには、ユーザー プロファイル内の共通するマネージャ、メンバシップ、および連絡先をリモートから見つけるために使用できるメソッドがいくつか用意されています。

このコードを使用する前に、domainname と username を実際の値で置き換えてください。また、次のサービスへの Web 参照を、作業中の Microsoft Visual Studio プロジェクトに追加してください。

  • Userprofileservice - この Web サービスは http://<サイトの URL>/_vti_bin/userprofileservice.asmx に配置されています。

using System;
using System.Collections.Generic;
using System.Text;

namespace UserProfileWebServiceApp
{
    class Program
    {
        public static localhost.UserProfileService myService = 
            new localhost.UserProfileService();
        static void Main(string[] args)
        {

            myService.Credentials = 
                System.Net.CredentialCache.DefaultCredentials;
            FindCommonColleagues();
            FindCommonManager();
            FindCommonMemberships();
            FindInCommon();

        }
        static void FindCommonColleagues()
        {
            UserProfileWebService.localhost.ContactData[] contacts = 
                myService.GetCommonColleagues("domainname\\username");
            for (int i = 0; i < contacts.Length; i++)
            {
                Console.WriteLine(contacts[i].Name);
            }

            Console.Read();

        }

        static void FindCommonManager()
        {
            UserProfileWebService.localhost.ContactData contact = 
                myService.GetCommonManager("domainname\\username");
            Console.WriteLine(contact.Name);


            Console.Read();

        }

        static void FindCommonMemberships()
        {
            UserProfileWebService.localhost.MembershipData[] 
                memberships = 
                myService.GetCommonMemberships("domainname\\username");
            for (int i = 0; i < memberships.Length; i++)
            {
                Console.WriteLine(memberships[i].DisplayName);
            }

            Console.Read();

        }
        static void FindInCommon()
        {
            UserProfileWebService.localhost.InCommonData incommon = 
                myService.GetInCommon("domainname\\username");

            for (int i = 0; i < incommon.Colleagues.Length; i++)
            {
                Console.WriteLine(incommon.Colleagues[i].Name);
            }

            Console.Read();

        }
    }
}

関連項目

タスク

[方法] 2 つのユーザー プロファイル間の共通点を取得する