Facebook Uygulaması Yazmak – 2

facebookBir ö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 :P 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.

2009-09-22_130328

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.

2009-09-22_132708

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

Facebook Invite

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ı:

2009-09-22_142530

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 Uygulaması Yazmak – 1

Facebook ile arayı açmıştım fakat uygulama yazma konusu ilgimi çekiyordu ve Facebook

Facebook Arkadaşına Önerme KoduFacebook 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 EkleyinFacebook Sayfanıza Paylaş Butonu Ekleyin

Static FBML konusuna girmişken sıcağı sıcağına hemen bir örnek vereyim dedim. Static

Facebook Video SüresiFacebook Video Süresi

Aslında bunları biliyormusunuz diye bir kategori açmayı bile düşündüm bu yazıyı yazarken

Facebook’da Static FBML KullanmaFacebook’da Static FBML Kullanma

Facebook’da sayfamıza yada profilimize birşeyler eklerken Static FBML uygulaması işlerimizi gerçekten çok

Eylül 22, 2009   Kategori: Programlama

“Facebook Uygulaması Yazmak – 2” için 54 Yorum

  1. Mustafa demiş ki:

    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 ?

  2. Tayfun demiş ki:

    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?

  3. Evren Bayraktar demiş ki:

    require_once ‘facebook.php’;

    ile facebook.php yi doğru şekilde çağırtıyormusun. require_login(); fonksiyonunu çağıramıyor, sorun ondan kaynaklanıyor.

  4. Ömer Güray demiş ki:

    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.


Yorum Yaz

*