How To Read User Profile In SharePoint 2010 Using Client Side Object Model

SharePoint , Posted at : Mar/06/2016  
442 Views   0 Comments

SharePoint 2013 telah menyediakan sebuah library baru (Microsoft.SharePoint.Client.UserProfiles) yang ditujukan untuk akses user profile dengan menggunakan .net managed client object model dimana library tersebut belum tersedia pada versi SharePoint sebelumnya. Pada SharePoint 2010 untuk akses user profile salah satu alternatifnya yaitu dengan mengakses Web Services yang telah disediakan di SharePoint.

SharePoint 2010 web services dibangun dengan menggunakan asmx web services yang sudah kita kenal sejak kemunculan web service pertama kali di rilis .net framework versi 1.0. Oleh karena itu untuk memudahkan mengakses service tersebut dari visual studio harus menggunakan web services reference, bukan service reference yang menggunakan wcf.

Url sharepoint web services untuk akses user profile yaitu http://servername/_vti_bin/UserProfileService.asmx

Service tersebut menyediakan beberapa web method, salah satunya yaitu GetUserProfileByName yang membutuhkan input parameter berupa user name (tanpa nama domain) yang akan dibaca user profilenya. Properti-properti yang dikembalikan dari web method tersebut disimpan dalam array PropertyData[] sehingga untuk membaca semua nilai properti nya harus dilakukan dengan looping item array tersebut. Apabila kita ingin mengakses salah satu atau beberapa properti saja dapat dilakukan dengan akses array indexer, dan tidak dapat diakses dengan nama propertinya, oleh karena itu mengetahui indeks nya dilakukan dengan looping terlebih dahulu agar dapat mengetahui indeks dari properti yang akan dibaca.

Pada artikel kali ini akan dibuat sebuah Windows Form Application. Project tersebut untuk contoh ini menggunakan visual studio 2013 dan c# sebagai bahasa pemrogramannya. Tentunya kita dapat menggunakan visual studio 2010, atau visual studio 2015 dan bahasa visual basic. Berikut ini adalah langkah-langkahnya:

1. Akses url user profile sharepoint web services.

2. Buat sebuah Windows Form Application project. 

3. Tambahkan kontrol button dan listbox ke dalam form.

4. Klik kanan project dan pilih menu Add – Service Reference

5. Klik button Advanced.

6. Klik button Add Web Reference.

7. Masukkan url user profile service.

    Masukkan user name dan password untuk akses service.

8. Ubah nama web reference jika dibutuhkan dan klik button Add Reference.

9. Jika berhasil, maka di project tersebut akan muncul node Web References.

10. Ketikkan kode berikut ini di dalam form code editor.

using usp = GetUserProfileServices.UserProfileServiceReference;

namespace GetUserProfileServices
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void ReadUserProfile()
        {
            usp.UserProfileService uspSvc = 
                new usp.UserProfileService();

            System.Net.NetworkCredential netCred =
                new System.Net.NetworkCredential(
                    "UserNameForConnectingToWebService", 
                    "Password");
            
            uspSvc.Credentials = netCred;
            usp.PropertyData[] userProps;
            userProps = uspSvc.GetUserProfileByName(
                "UserNameToSearch");

            listBox1.Items.Clear();

            for (int i = 0; i < userProps.Length; i++)
            {
                listBox1.Items.Add("Property-" + i + " : " + 
                    userProps[i].Name);
                for (int j = 0; j < userProps[i].Values.Length; j++)
                {
                    listBox1.Items.Add(new string
                        (Convert.ToChar("-"), 10) 
                        + "Property-" + i + ", " + "Value-" + j + " : "
                        + userProps[i].Values[j].Value);
                }
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                ReadUserProfile();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
}

11. Jalankan aplikasi. Hasilnya dapat dilihat seperti pada gambar berikut ini:


[Comments]

[Write your comment]
Name (required)
Email (required-will not published)
 
Comment

KZMQ
Input code above below (Case Sensitive) :
About Me 
Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Microsoft Certified Trainer | IT Trainer at Native Enterprise | IT Consultant | Software Developer | MCAD | MCPD | MOS | Bandung, West Java, Indonesia.
[Read More...]
Top Download 
Mapping Hak Akses User Pada MenuStrip Sampai Control Button : Downloaded 6083 times  
Bagaimana caranya menginstal database ketika deploying sebuah aplikasi? : Downloaded 4689 times  
Simple Voice Engine Application With Sound Player Class... : Downloaded 3554 times  
Change Group,Sort Order, Filtering By Date in Crystal Reports : Downloaded 3324 times  
WinForms DataGrid Paging With SqlDataAdapter : Downloaded 2706 times  
Links 
Certifications 
MOS 2007
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench
Native Enterprise 
Follow Me 
Facebook   LinkedIn   Twitter
Syndication 
Hosted By 
Native Enterprise News 
© Copyright 2006-2016   Rully Yulian MF   All rights reserved.