Kısa bir önbilgi ile giriş yapalım. Facebook uygulamaları facebook sunucularında değil, sizin sunucunuzda barınır. Yani nasıl kendinize web sitesi yapıp sunucunuza upload ediyorsanız, yazdığınız facebook uygulamalarını da aynı şekilde kendi sunucunuza upload etmeniz gerekiyor. Upload için herhangi bir ftp programı kullanabilirsiniz (open source olan filezilla’yı öneririm) Ben bu örnekte yarattığım facebook uygulamasını http://www.orhanyediyildiz.com/myfacebookapp adresine upload ettim.


Öncelikle tabiki bir facebook hesabınız olması gerekiyor. Hesabınıza giriş yaptıktan sonra “Facebook Developer Application” uygulamasını eklemelisiniz. Bu da diğer uygulamalar gibi bir uygulama, tek farkı sağ tarafta “my applications” kısmı bulunması. Facebook’ta uygulamalarda arama yaparak ya da bu adresten bu uygulamayı bulabilirsiniz.



Developers uygulamasına soldaki menüden giriyoruz. Buradaki discussion board’tan diğer insanların uygulama geliştirmek ile ilgili sorularını, yanıtları vs görebilir, siz de yardım alabilirsiniz. Neyse biz uygulama eklemek istiyoruz

Sağ tarafta bulunan “Set Up New Application” butonuna tıklıyoruz.


Gelen ekranda uygulamamıza bir isim vermemiz isteniyor. Ben burada “myfacebookapp” ismini verdim, istediğiniz ismi verebilirsiniz. Kullanım koşullarını da okuyarak kutucuğu işaretliyoruz. Optional fields kısmını şimdi geçelim, daha sonra düzenleriz. Submit butonuna basıp uygulamamızı oluşturuyoruz.Şimdi karşımızdaki sayfada uygulamamızı geliştirebilmek için mutlaka elimizde olması gereken iki bilgi var. “Api key” ve “secret”. Bu iki bilgiyi uygulamamız içinde kullanacağız.





Yandaki screenshot’ta da görünen “Edit Settings” menüsüne giriyoruz. Burada uygulamamız için gereken bütün ayarlar var. Şimdilik sadece “Callback URL” alanını düzenliyoruz. Callback URL uygulamayı barındırdığımız adrestir. Yani bu örnekte Callback URL: http://www.orhanyediyildiz.com/myfacebookapp/ dir. Bu uygulamayı yayınlamayacağımız için Canvas Page URL kısmını boş bırakıyorum. İsteyenler uygulamaları için güzel bir adres girebilir oraya. Yine biraz daha aşağıda bulunan “Can your application be added on Facebook?” sorusunun yanındaki ‘Yes’ seçeneğini seçelim ki kullanıcılar bu uygulamayı ekleyebilsinler(biz de ekleyelim). Siz bu seçeneği seçer seçmez sayfanın aşağısında yeni özellikler de belirdi. Buradan da “Who can add your application to their Facebook account?” sorusunun yanındaki “Users” kutucuğunu işaretleyelim. Değişiklikleri kaydediyoruz ve artık uygulamayı geliştirmeye hazırız.
Uygulama geliştirirken PHP dilini kullandım. Facebook’un PHP için yazdığı platformu indirmemiz gerekiyor. Bu adreste mevcut: http://developers.facebook.com/clientlibs/facebook-platform.tar.gz İndirilen dosyanın içinde ayrıntılı bir README dosyası var, okumanızda fayda var. Ayrıca eğer merak ederseniz bakın, içinde aynı zamanda “footprints” adlı örnek bir uygulama da bulunmakta.
Eğer php sürümünüz PHP5 ise indirdiğimiz tar.gz uzantılı dosyadaki client klasörünü, PHP4 ise php4client klasörünü kullanacağız. Bu klasörlerin içinde “facebook.php” adlı bir php dosyası bulunmakta, yazacağımız php dosyasına bu facebook.php dosyasını include etmemiz gerekiyor. Neyse bu konuya ileride geleceğiz.
[COLOR=#808080]Not: eğer Windows kullanıyorsanız ve tar.gz uzantılı dosyayı açamadıysanız winrar programını kullanabilirsiniz. Linuxta “tar -zxvf dosyaadı.tar.gz” komutuyla açabilirsiniz.[/COLOR]
“Client” klasörünü de sunucunuza upload etmeniz gerekiyor tabiî ki. Yani son haliyle sunucumuzda http://www.orhanyediyildiz.com/myfacebookapp/ dizininde client klasörü yer almakta. İşleri kolaylaştırmak ve software engineering adına : ) uygulamamızı dosyalara bölüyoruz. Gereken api key, secret, veritabanı bilgilerini vs, config.php adlı bir dosyaya yazıyoruz.
config.php dosyasının içeriği:

$apiKey ve $secret değişkenleri facebook’un bize verdiği bilgiler. Onları kendi uygulamanızım bilgileriyle değiştirmeniz gerekiyor. $applicationCallbackURL ise uygulamamızın barındığı adres. Son olarak da ayarların yapıldığı “settings.php “dosyasını include ediyoruz.
settings.php dosyasının içeriği:

require_frame(); $user = $facebook->require_login(); //$user = id of the current user /* note: above code is obtained from somewhere else */ try { if (!$facebook->api_client->users_isAppAdded()) { $facebook->redirect($facebook->get_add_url()); } } catch (Exception $ex) { //this will clear cookies for your application and redirect them to a login prompt $facebook->set_user(null, null); $facebook->redirect($applicationCallbackURL); } ?>


Bu dosyada öncelikle facebook platformunda yer alan “client/facebook.php” dosyasını include ediyoruz. Bir facebook objesi yaratıp gerekli login işlemlerini gerçekleştirdikten sonra programımızı yazmaya başlayabiliriz. Bu kodun büyük bir kısmını biryerden geçirdim, açıkçası %100 ne yaptığını bilmiyorum. Okuduğum kadarıyla try catch arasındaki kod her zaman geçerli bir session elde etmemizi garanti etmek için kullanılıyormuş. Gereken açıklama yapmak isteyen varsa lütfen ekleme yapsın.
index.php dosyasının içeriği:

?>


Bu üç dosyayı (config.php, settings.php, index.php) sunucuya upload ettikten sonra artık uygulamamız çalışmaya hazır halde. Favori web tarayıcınızı açın ve adrese callback url’ye hangi değer verdiyseniz onu yazın. Ben http://www.orhanyediyildiz.com/myfacebookapp yazıyorum. İlk başta uygulamaya login olma ve uygulamayı eklemek için sayfalar gelebilir, onları ilerleyerek geçin. Ve sonuç karşınızda.
Bizim buradaki programımız “klasik her dilde ilk öğrenilen şey olduğu gibi” hello world yazdırıyor

tabiki daha faydalı programlar yapılabilir. Facebook ile etkileşime geçmek için FBML(Facebook Markup Language) , FQL(Facebook Query Language) ve Facebook API kullanıyoruz. Bunlar ile birlikte daha gelişmiş örnekleri ileriki aşamalarda beraber göreceğiz…
Facebook Uygulaması geliştirirken sürekli kullanacağınız adres: http://developers.facebook.com/
Bu arada Hello World demişken ilginizi çekebilir. Şu adreste 365 dilde Hello World nasıl yazdırılır onu anlatıyor


http://www.roesler-ac.de/wolfram/hello.htm
yazıda kullandığım örneğin dosyasını (myfacebookapp.rar) buradan indirebilirsiniz.








Alıntı