Facebook Developer Toolkit 1

12:03 am .Net Framework

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.

(Yazının bir bölümü FikirAtolyesi sitesinden alıntıdır. Normalde yazdığım yazılarda alıntı yaparsam muhakkak kaynağını belirtirim fakat bu yazıyı yazarken gözden kaçırmışım. Bu konudan dolayı FikirAtolyesi ve okurlarından özür diler, Sibel hanıma da beni uyardığı için teşekkür ederim.)

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.

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.

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 2006da da email’i olan herkes bir profil sahibi olabiliyor.

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

Ocak 2007den 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();

Şimdide formumuza mesajlarımıza ulaşmamızı sağlayacak bir button koyalım. Click() eventine aşağıdaki kodları yazalım.

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.

.Net ‘ li günler…

 

 

 

5 Responses

  1. Sinan Yüce Says:

    Koray,
    Facebook olayına girmen iyi olmuş. Biz Türkler için Facebook inanılmaz fırsatlar sunuyor.
    Bu arada kafamda ilginç bir facebook application fikri var. İnanılmaz bir proje.. Detaylarını bir haftasonu konuşuruz :)

  2. koray Says:

    dedik buraya da bir el atalım :-P

    tamam sinan ozaman haftasonuna gün ayarlayalım :)

  3. kaanerden Says:

    ahahah meshur oldum :)))))

  4. turec beşeri Says:

    selam, vs 2005 kullanarak ben bişiler yapmayi deniyorum ama compile edip applicationa login olduğumda sayfa bulunamiyor diyor.
    Callback Url adresine: http://localhost:1850/deniyorumm/

    yazmamdan dolayi olabilir mi acaba diyorum?

  5. barış Says:

    Notifications diye bir metod bulamadım ve Notifications getNotifications diye bir komuutta bulamadım daha açıklayıcı olsa daha iyi olurdu diye düşünüyorum

Leave a Comment

Your comment

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.

Gunesim...