Başlangıç > Dökümanlar > C# ile Facebook Developer Toolkit kullanmak

C# ile Facebook Developer Toolkit kullanmak

Bu yazımızda Facebook Developer Toolkit ‘ i kullanarak uygulama geliştireceğiz. (Bu yazımızda sadece giriş yapacağız.)İlk önce 2007 yılını kasıp kavuran Facebook’ tan bahsetmekte fayda görüyorum. Facebook ile ilgili bilgiler fikiratolyesi sitesinden alıntıdır

2004 Şubat’ında Mark Zuckerberg Harvard College’da okurken, iki arkadaşı ile birlikte yurt odasından kuruyor Facebook’u. İlk projesi ‘Coursematch.’ Okulda aynı dersleri alan öğrencilerin listelendiği bir site. Sonra Facemash.com; ‘Hot or Not‘ benzeri bir site. Ancak bunun için hacker’lık yapıyor. Öğrenci resimlerini (öğrencilerden izinsiz) alabilmek için Harvard’ın bilgisayar sistemine bir şekilde giriyor ve bu resimlerden siteyi kuruyor. Kısa süre sonra durumu fark eden okul yönetimi onun internet bağlantısını kesiyor, disipline havale ediyor.

Ve Facebook. Önceleri sadece kendi okulu içinde öğrenciler arasında bir ağ iken, sonrasında Amerika’daki diğer üniversiteleri de içine katınca başlıyor büyümeye. Derken liseler ve Eylül 2006′da da email’i olan herkes bir profil sahibi olabiliyor.

Bugün itibariyle Palo Alto California ve New York ofislerinde 300′den fazla çalışanı, 46 milyondan fazla aktif üyesi var.

Ocak 2007′den beri her gün 200 bin yeni üye alıyorlar. Bu Facebook’un her hafta %3 büyümesi demek! 25 yaş üstü profilin en hızlı büyüdüğü sitede insanlar her gün ortalama 20 dakika vakit geçiriyolar.

Facebook ‘ un Müşteri İlişkileri Yönetimleri için muhteşem bir hazine olduğunu söylemek yanlış olmaz. Kullanıcıların kendi istekleriyle demografik bilgilerini verdikleri ve milyonlarca üyesi olan bir site… Microsoft’ un sitenin ufacık bir hissesi için ne kadar büyük bir meblağ verdiğini unutmamak gerek. Tabi bu kadar büyük bir verinin tutulması komplo teorisyenlerini de heyecanlandırmıyor değil. Big brother’ı kendi elimizle bize yarattırdılar…

Bu bilgilendirmeden sonra esas konumuza geçelim. Uygulamamız iki bölümden oluşacak. Bunlardan ilki windows application ikincisi ise web application olacak. Facebook Developer Toolkit’i gerek Microsoft’ un sitesinden gerekse CodePlex’ ten indirebilirsiniz. Bir Blank Solution dosyası açarak uygulamamıza başlayabiliriz. Ben solution dosyamın adını Faceninbookucikti olarak oluşturdum.

İlk olarak bir windows Application uygulaması geliştirelim. Bunun için solution dosyamıza bir tane windows uygulaması ekleyelim. Adını FaceWinUI verdim.

İlk önce yüklemiş olduğumuz dosyalardaki dll dosyalarını toolbox’ a dahil edelim. Bunun için Facebook adında bir sekme oluşturuyorum.

Daha sonra ChooseItem seçeneğini seçerek gerekli olan dll dosyamızın yerini göstereceğim. Böylece kontrollerim toolbox’ ıma yüklenmiş olacak.

Artık uygulamamızı geliştirmeye başlayabiliriz. Uygulamamızın üzerine bir tane FacebookService kontrolu sürükleyip bırakıyorum. Burada bizden API Key ve Secret adında iki parametre girmemizi isteyecektir. http://developers.facebook.com adresinden siteye giriş yaptığınızda ve yeni bir application oluşturduğunuzda size API Key ve Secret kodunu verecektir. Bu değerleri uygulamamızda istenilen yerlere yazalım.

Uygulamamıza bir tane FriendList kontrolü ekleyelim. Daha sonra Formumuzun Load eventine gerekli kodlarımızı yazmaya başlayalım.
private void Form1_Load(object sender, EventArgs e) { friendList1.Friends = facebookService1.GetFriends();

}

Projemizi çalıştırdığımızda karşımıza Login ekranı çıkacaktır.

Kullanıcı adınızı ve şifrenizi doğru şekilde girdiğinizde arkadaş listeniz karşınıza çıkacaktır.

Şimdi Formumuzun altına bir adet label ekleyelim. Bu label da okunmamış mesaj sayımızı göstersin. Formumuzun Load eventine aşağıdaki kodları yazalım.

Notifications n = facebookService1.GetNotifications();

label1.Text=”Okunmamis ” + n.UnreadMessageCount.ToString() + ” Adet Mesajınız Vardir”;

Aynı şekilde Arkadaş talepleri ve grup taleplerine ilişkin bilgileri de getirelim.
label2.Text = “Grup Davetiye Sayısı : ” + n.GroupInvites.Count.ToString();

label3.Text = “Arkadas Davetiye Sayısı : ” + n.FriendRequests.Count.ToString();

private void button1_Click_1(object sender, EventArgs e)

{

System.Diagnostics.Process goster = new System.Diagnostics.Process();

goster.StartInfo.FileName = “http://www.facebook.com/inbox/”;

goster.StartInfo.UseShellExecute = true;

goster.StartInfo.RedirectStandardOutput = false;

goster.Start();

goster.Dispose();

}

friendList kontrolumuzdeki arkadaşlarımıza tıkladığımızda herhangi bir işlem olmamaktadır. Burada seçtiğimiz kişinin bilgilerini almak için friendList kontrolümüzün eventlerinden FriendSelected() eventine aşağıdaki kodları yazalım.

label4.Text = “Kullanici ID : ” + e.User.UserId + System.Environment.NewLine;

label4.Text += “Kullanici Adi : ” + e.User.FirstName + ” ” + e.User.LastName + System.Environment.NewLine;

label4.Text += “Cinsiyeti : ” + e.User.Sex + System.Environment.NewLine;

label4.Text += “Birliktelik Durumu : ” + e.User.RelationshipStatus + System.Environment.NewLine;

label4.Text+=”Dogum Tarihi : ” + e.User.Birthday.ToString() + System.Environment.NewLine;

label4.Text += “Lokasyon : ” + e.User.CurrentLocation.Country.ToString() + “/” + e.User.CurrentLocation.City;

Uygulamamızı çalıştırdığımızda aşağıdaki gibi bir görünüm elde edeceğiz.

GetFriends() metodu bize bir collection dönmektedir. İçinde user nesneleri bulunduran bu collection yardımı ile facebook kontrollerine bağımlı kalmadan kendi kontrollerimizde facebook tan çektiğimiz verileri kullanabiliriz. Örneğin kullanıcı adlarını Listbox kontrolümüze dolduralım.

Diğer propertyleri birer alan gibi düşünerek yazımın başında bahsettiğim Müşteri İlişkileri Yönetimi Programı kadar olmasa da yazacağınız başka programlara entegre olabilecek küçük çapta insanların demografik bilgilerini tutan bir ambar yapabilirsiniz.

List<User> users = new List<User>();

private void DostlariYukle()

{

users = new List<User>(facebookService1.GetFriends());

listBox1.DataSource = users;

listBox1.DisplayMember = “Name”;

listBox1.ValueMember = “UserId”;

}

Bu yazımızda Facebook Developer Toolkit ‘ e başlangıç yapmaya çalıştık. Fırsat buldukça bu konu hakkında yazmaya devam edeceğim.

Kaynak: yazilimuzmani.com

Reklamlar
Kategoriler:Dökümanlar Etiketler:, , , , ,
  1. emre
    10/07/2013, 10:38

    reference olarak neler eklememiz gerekmektedir?
    hata almaktayım formun load olayları içersinde Notifications n = facebookService1.GetNotifications(); satırında hata var reference eklememiz gerekmekte notifications bulunamamaktadır yardım ederseniz sevinirim teşekkürler.

    Error 1 The type or namespace name ‘Notifications’ could not be found (are you missing a using directive or an assembly reference?) D:\BELGELERİM\Visual Studio 2008\Projects\WindowsFormsApplication4\WindowsFormsApplication4\Form1.cs 31 13 WindowsFormsApplication4

    Error 2 ‘Facebook.Components.FacebookService’ does not contain a definition for ‘GetNotifications’ and no extension method ‘GetNotifications’ accepting a first argument of type ‘Facebook.Components.FacebookService’ could be found (are you missing a using directive or an assembly reference?) D:\BELGELERİM\Visual Studio 2008\Projects\WindowsFormsApplication4\WindowsFormsApplication4\Form1.cs 31 48 WindowsFormsApplication4

    Beğen

  2. C#Programlama
    25/07/2013, 02:30

    Selamun aleykum .

    Ben formda webbrowser’dan facebooka giriyorum.
    Şunu istiyorum:
    Form üzerindeki butona tıkladıgımda facebook’dan çıkmasını istiyorum.
    Yani tekrar eposta – şifre sorulan alana gelmesini istiyorum çok araştırdım ama bulamadım böle bir kod acaba biliyorsanız yardımcı olurmusunuz.

    Beğen

  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: