Facebook Uygulaması Yazmak – 2
Bir önceki yazımda facebook uygulaması yazma konusuna girmiştim. Eğer bu yazıdaki terimler size yabancı geliyorsa önce şurayı okuyun. XHTML, PHP, FTP, HOSTING, FBML hakkında hiç bir bilginiz yoksa google amcaya sorun..
Yok yok FBML yi dert etmeyin
Giricez şimdi o konuya
Esas şimdi başlıyoruz uygulama geliştirmeye, yazamaya.. Öhöm öhöm..
Facebook Uygulaması Yazmak
Uygulama sayfamızı oluşturmayı bir önceki yazımda anlatmıştım. Gelelim kod yazmaya..
İşimize yarayacak en büyük şey Facebook İstemci Kütüphanesi. Bu kütüphane sayesinde php ile facebook a uygulama geliştirebileceğiz. PHP ile facebook'un kendi yaratmış olduğu dili FBML'yi kullanabileceğiz. Yeri gelmişken kısaca FBML den bahsedeyim.
FBML Nedir ?
Arkadaşlar FBML (Facebook Markup Language) facebook un kendi geliştirdiği bir dil yapısıdır. Facebook un özel görünümlerini fbml sayesinde çok basit bir şekilde elde edebilirsiniz. Yada ne bileleyim, arkadaşlarınızı listeletebilirsiniz. Görerek öğrenmek en mantıklısı heralde;
<fb:name uid="12345" /> uid ile belirttiğiniz id li kişinin adını yazdırabilirsiniz mesela. Yada daha anlamlı olsun. Facebook'un meşhur pencerelerinden açalım.
Benim dialogu görmek istiyomusun canım yazısındaki dialog linkine tıklayınca resimde gördüğünüz dialogbox diye tabir edilen pencere açılıyor. Bunu sağlamak için gerekli kodumuz,
<?php /** * @author EvrenWeb * @copyright 2009 */ require_once 'facebook.php'; $appapikey = 'API KEY; $appsecret = 'GIZLI API KEY'; $facebook = new Facebook($appapikey, $appsecret); $user_id = $facebook->require_login(); ?> <fb:dialog id="my_dialog" cancel_button=1> <fb:dialog-title>Face Dalog</fb:dialog-title> <fb:dialog-content><form id="my_form">EvrenWeb in dialog'unu beğendin mi??</form></fb:dialog-content> <fb:dialog-button type="button" value="Kesinlikle Evo" href="http://some_url.com/awesome.php" /> <fb:dialog-button type="button" value="Hayır Evocum" href="http://some_url.com/lame.php" /> </fb:dialog> Benim <a href="#" clicktoshowdialog="my_dialog">dialogu</a> görmek istiyomusun canım
Anlayacağınız <fb:bilmem ne> mevzularının hepsi FBML ye giriyor. Wiki sayfasında hepsi mevcut, ben şimdi fazla uzaymayacağım.
Facebook Platform
İstemci kütüphanesini indirmenizi söylemiştim. İndirip içini açtıktan sonra iki adet klasör göreceksiniz. Birisi footprints öbürü ise php. Size tavsiyem, uygulama dosyalarınızın hepsini bu php klasöründe depoyın.

php klasörünün içerisinde de bunlar mevcut. bunların içerisindeki facebook.php bizim herşeyimiz. Yazdığımız kodların içerisine onu çağırarak API,FBML, FQL yi kullanacağız. Örneğin
<?php require_once 'facebook.php'; $appapikey = 'API KEY'; $appsecret = 'GIZLI KEY'; $facebook = new Facebook($appapikey, $appsecret); ?>
Bu kod dizimi ile facebook sınıfımızı kullanmaya başladık. Bundan sonra hayal gücümüze kalıyor. Zaten uygulama yazaksanız php ile bildiğiniz şeyi yapıcaksınız, öğrenmeniz gereken uygulamanın facebook ayağı. En çok merak edilenler, olması gerekenler hakkında örnekler ile sizlere yardımcı olmaya çalışacağım. Uygulama sayfanıza gelen kişinin15 arkadaşını listeletelim mesela:
<?php
/**
* @author EvrenWeb
* @copyright 2009
*/
require_once 'facebook.php';
$appapikey = 'API KEY';
$appsecret = 'GIZLI KEY';
$facebook = new Facebook($appapikey, $appsecret);
$user_id = $facebook->require_login();
echo "<p>Merhaba, <fb:name uid=\"$user_id\" useyou=\"false\" />!</p>";
echo "<p>Arkadaşların:";
$friends = $facebook->api_client->friends_get();
$friends = array_slice($friends, 0, 15);
foreach ($friends as $friend) {
echo "<br><fb:profile-pic uid='$friend'><fb:name uid=\"$friend\" useyou=\"false\" /></fb:profile-pic>";
}
echo "</p>";
?>
Bu dosyayı ark.php olarak kayıt edelim. FTP aracılığı ile hostumuza (ben http://face.evrenweb.net/ şeklinde yapmıştım) atalım. Sonra da http://apps.facebook.com/seninadresin/ark.php açalım. Göreceğiz ki 15 adet arkadaşımızı listeliyoruz.
Davet Gönderme

Davet formu oluşturmak yapacağımız uygulamanın olmazsa olmazlarından olsa gerek. Resimde görmüşsünüzdür nasıl bişey olduğunu. Bu işi yapabilmek için kullanacağımız örnek kodlar,
<?php /** * @author EvrenWeb * @copyright 2009 */ require_once 'facebook.php'; $appapikey = 'API KEY'; $appsecret = 'GIZLI KEY'; $facebook = new Facebook($appapikey, $appsecret); $user = $facebook->require_login(); $invfbml = <<<FBML Ben <fb:name uid="$user" firstnameonly="true" shownetwork="false"/>. Buda benim davetim. <fb:pronoun possessive="true" uid="$user"/> invited you. English olsun.. <fb:req-choice url="http://apps.facebook.com/evrenilk/" label="Ekleyin!" /> FBML; ?> <fb:request-form type="evrenilk" action="http://www.facebook.com/profile.php" content="<?=htmlentities($invfbml)?>" invite="true"> <fb:multi-friend-selector max=20 actiontext="evrenilk davetiyesi" showborder="true" rows=5 exclude_ids="<?=$arFriends?>"> </fb:request-form>
Bu kodda benim başka bir eklentim görünüyor. Eklentinin adı evrenilk idi. Sizin kendi eklenti adınıza göre değişirmeniz gerekmekte.
Facebook Tab kullanımı:

Belkide Facebook ile ünlenen tab yapımına bakalım. FBML ile bu çok basit aslında
<fb:tabs> <fb:tab-item href="http://apps.facebook.com/evrenilk/index.php" title="Ana Sayfa"/> <fb:tab-item href="http://apps.facebook.com/evrenilk/davet.php" title="Davet"/> </fb:tabs>
Bu kodları tab.php olarak kayıt edin. İş bu kadar basit
Aslında facebook da uygulama geliştirmek çok zor bişey değil. Yani işin facebook ayağı zor değil. Siz beyin gücünüzü kullarak bişeyler ortaya çıkarıcaksınız, artık ne tarz programlama bilgisi gerektiriyorsa (misal php) o dil deki becerinizi ortaya koyacaksınız. Facebook ayağı sizi zaten fazla zorlamaz.
Ben bu örnekleri vermeye devam edersem Facebook Platform dökümanına ayıp etmiş olurum. Orada bütün fonksiyonları, API, FBML, XFBML, FQL, FBJS hakkında açıklamaları, kod örneklerini adamlar vermiş. Göz gezdirmeden yola çıkmak yanlış olur.
Dilerim ki yararlı bir kaynak olmuştur, emeğe saygı duyulup kaynaksız paylaşım yapılmaz..
Edit: PHP İstemci kütüphanesi linki güncellendi.
Benzer Yazılar:
Facebook Uygulaması Yazmak – 1Facebook ile arayı açmıştım fakat uygulama yazma konusu ilgimi çekiyordu ve Facebook
Facebook Arkadaşına Önerme Kodu<fb:chat-invite msg="EvrenCe ye baksana > http://www.facebook.com/pages/EvrenCe/165977678405" condensed="true"><fb:profile-pic uid="profileowner" linked="false" width="32" height="32" /></fb:chat-invite>
Facebook Sayfanıza Paylaş Butonu EkleyinStatic FBML konusuna girmişken sıcağı sıcağına hemen bir örnek vereyim dedim. Static
Facebook Video SüresiAslında bunları biliyormusunuz diye bir kategori açmayı bile düşündüm bu yazıyı yazarken
Facebook’da Static FBML KullanmaFacebook’da sayfamıza yada profilimize birşeyler eklerken Static FBML uygulaması işlerimizi gerçekten çok


İzledim: The Social Network
Hasret Sona Erdi !
Mutlu Bayramlar ;)


15 arkadaşını listele kodunu arıyorum ama birtürlü bulamadım. Bu kodda çalışmıyor lütfen çalışanı varsa mail adresime atarmısınız ?
Fatal error: Call to undefined method Facebook::require_login() in C:\xampp\htdocs\fbOP\deneme.php on line 7
7. satırda
$user_id = $facebook->require_login();
var hocam.
neden bu deneme.php sayfamda böyle bi hata alıyorum?
require_once ‘facebook.php’;
ile facebook.php yi doğru şekilde çağırtıyormusun. require_login(); fonksiyonunu çağıramıyor, sorun ondan kaynaklanıyor.
Dosyalar değişmiş heralde, bu kafamı daha çok karıştırdı. Hostumuza atacagımız dosyalar hangileri oluyor ,kutuphaneden indirdiğimizde içinden çıkan farklı dosyalar var. Bizim işimiz hangileriye. Bunun hakkında bilgilendirebilirseniz çok işime yarayacak.Tesekkurler.