Aksaray Yöresel Kültürel Kamusal Kurumsal Paylaşım sitesi Aksarayın en iyi Sitesi
Üyelik Giriş Yap | Üye Ol | Şifrem Neydi | Canlı Destek Facebook
Konu Açan Aksaray 68
1.04.2012 03:15:30
Normal Üye
Aksaray 68
 
Mutlumusun :
Yazmamış
Neden :
Yazmamış
SonKararinmi :
Yazmamış


Merhaba arkadaşlar Facebook birçok özelliğini değiştirme sürecinde bundan  dolayı uygulama geliştirme için yazılan makaleler uzun süre dayanmadan güncelliğini yitiriyor.  Ancak uygulama geliştirme işinden oğumamak için basit bir uygulama yapmaya karar verdi. Bu yazımızda Facebook Albüm uygulaması yapacağız. Uygulamayı FQL sorgularından yararlanarak yapacağız.



FQL demişken uygulamaya geçmeden önce birazcık buna değinelim.



Facebook sorgu yapmak için FQL kullanılır. Bu dil yapısal olarak SQL’e benziyor. Fakat SQL gibi birden çok tabloyu birleştirmeye izin vermiyor. FQL’de sadece tek tablodan veri alabiliriz ama bu dil subquery kullanmaya izin veriyor. Bunun yanında bu dil bazı kolaylıkları da bize sunuyor. Örneğin; uygulamamıza giren kullanıcının id değerini yazma yerine me()yazabiliriz.













 




SELECT name FROM user WHERE uid=me()





 



 Yukarıda sadece bir tablodan sorgu yaparak giren kişinin adını aldık. Şimdi de subquery örneği vereyim.











SELECT profile_url, pic_square, name


FROM user


WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me())


ORDER BY name ASC




Bu örneğimizde uygulamaya giren kullanıcının bütün arkadaşlarının profiline giden linkleri ve profil fotoğraflarını alıyor. Bu örneği kullanarak tam bir uygulama geliştirelim. Uygulamamız da bütün arkadaşlarımızın profil resimlerini listeleyeceğiz ve bu resimlere tıklayınca da tıklanan kişinin profiline gideceğiz











<?php


include("izinler.php");


$fql='SELECT profile_url, pic_square, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) ORDER BY name ASC';


$params=array(


    'method'=>'fql.query',


    'query'=>$fql


);


 


$result=$facebook->api($params);


foreach($result as $friend){


    echo '<a href="'.$friend['profile_url'].'"target="_blank">';


    echo '<img src="'.$friend['pic_square'].'"alt="'.$friend['name'].'"border="0">';


    echo '</a>';


}


?>




izinler.php aşağıdaki şekildedir.



?php

//facebook php-sdk’yý include ettik.

include_once “facebook/facebook.php”;



 


//kullanacaðýmýz uygulama deðiþkenlerini atýyoruz.

    $fbconfig['appid']=”api idniz”;

    $fbconfig['secret']=”api secret”;

    $fbconfig['baseurl']=”facebook adresiniz (apps.facebook olan)”;  



 

    //eðer facebook user_id sini biliyorsak direk çaðýrarak iþlem yapabiliriz

 //ancak biz açýk oturum üzerinden iþlem yapacaðýz.

    $user = null;   

 



    // Uygulamayý oluþturuyoruz.

    $facebook = new Facebook(array(

      ‘appId’ => $fbconfig['appid'],

      ‘secret’ => $fbconfig['secret'],

      ‘cookie’ => true,

    ));

 //açýk olan kullanýcýyý arýyoruz. 

    $user = $facebook->getUser();

   

   

    //eðer facebook’a giriþ yapýlmamýþ ya da izin alýnmadýysa giriþ yapmasý ve izin vermesini istiyoruz.

    $loginUrl = $facebook->getLoginUrl(

            array(

                ‘scope’         => ‘email,publish_stream’, // scope deðeri istediðimiz izinler

                ‘redirect_uri’  => $fbconfig['baseurl']

            )

    );

   

 //giriþ yapan kullanýcýya logout baðlantýsý oluþturuyoruz.

    $logoutUrl  = $facebook->getLogoutUrl();

    header(‘P3P: CP=”CAO PSA OUR”‘); ob_start(); session_start();

      

   

    //tüm iþlemlerimizi yukarda tanýmlanan $user deðerine göre yapýyoruz.

    if ($user){

        //kullanýcýnýn temel bilgileri alýnýyor

        $userInfo = $facebook->api(‘/me’);

    }

   

    //kullanýcýdann giriþ izinleri isteniyor

    if (!$user) {

    echo “<script>top.location.href=’$loginUrl’</script>”;

    }else{

  $uid=$userInfo['id'];

        $u_name=iconv(“UTF-8″, “ISO-8859-9″, $userInfo['name']);

        $u_locale=iconv(“UTF-8″, “ISO-8859-9″, $userInfo['location']['name']);

        $u_hometown=iconv(“UTF-8″, “ISO-8859-9″, $userInfo['hometown']['name']);

        $u_picture = “http://graph.facebook.com/”.$user.”/picture“;

    }

?>



 



Tekrar Facebook ALbüm uygulamasına geçelim:



 Uygulamamızın içeriği; Facebook’ta bulunan bütün albümlerin isimlerini ve kapak fotoğraflarını alt alta listeleyeceğiz  ve bu kapak fotoğrafına tıklayınca da içerisindeki fotoğraflar gösterilecek. Bu uygulamayı çalıştırabilmek için scope kısmında, kullanıcıdan user_photos izni almanız gerekiyor. Ayrıca daha önce yukarıda hazırladığımız izinler.php betiğine ihtiyaç duyacağınız.  Uygulamamız kısaca bu şekilde, şimdi yapmaya geçebiliriz.



 











<?php


//facebook php-sdk'yı include ettik


include_once "izinler.php";


 


header("Content-Type: text/html; charset=UTF-8");


 


if(isset($_GET['album_id'])){


    //bağlantıdan tıklanan albümü alma


    $aid=$_GET['album_id'];


    //FQL ile bütün albüm resimlerini alma


    $fql_photo="SELECT src FROM photo WHERE aid='{$aid}'";


    $params=array(


        'method'=>'fql.query',


        'query'=>$fql_photo


    );


    $result=$facebook->api($params);


    foreach($result as $photo){


        //albümün fotoğrafını ekranda gösterme


        echo "<img src='{$photo['src']}' />";


    }


}else{


    //FQL ile bütün albüm ismi ve kapak id alma


    $fql='SELECT aid, name, cover_pid FROM album WHERE owner = me()';


    $params=array(


        'method'=>'fql.query',


        'query'=>$fql


    );


    $result=$facebook->api($params);


    foreach($result as $album){


 


        //FQL ile bütün kapakların resimlerini alma


        $fql_photo="SELECT src FROM photo WHERE pid='{$album['cover_pid']}'";


        $params=array(


            'method'=>'fql.query',


            'query'=>$fql_photo


        );


        $result=$facebook->api($params);


        foreach($result as $photo){


            //albümün kapak fotoğrafını ekranda gösterme


            echo "<a href='index.php?album_id={$album['aid']}'><img src='{$photo['src']}' /></a>";


        }


 


        //albümün ismini ekranda gösterme


        echo $album['name']."<br />";


    }


}


?>




 


İmza

                 AKSARAY

Cevap Yaz
Copyright
Bugün : 0 - 0 - 0 | Dün : 0 - 0 - 0 | Toplam : 183 - 1130 - 1313 | Üyeler : 0 - 2359 | Online : 0 - 1
Onlineler :
Neler Yaptık | Hakkımızda | İletişim | SiteMaps | Rss
2oo6-2o14 © Copyright Aksaray 68
Yazılım Tasarım
Aksaray 68

AKSARAY.TC - Bizimsite - Aksaray Bilisim - Ihlara - Aksaray Haberler- AxarayFm - siteni ekle
YASAL UYARI
Sitemiz, hukuka, yasalara, telif haklarına ve kişilik haklarına saygılı olmayı amaç edinmiştir. Sitemiz, 5651 sayılı yasada tanımlanan .yer sağlayıcı. olarak hizmet vermektedir. İlgili yasaya göre, site yönetiminin hukuka aykırı içerikleri kontrol etme yükümlülüğü yoktur. Bu sebeple, sitemiz .uyar ve kaldır. prensibini benimsemiştir. Telif hakkına konu olan eserlerin yasal olmayan bir biçimde paylaşıldığını ve yasal haklarının çiğnendiğini düşünen hak sahipleri veya meslek birlikleri, info@Aksaray.tc mail adresinden bize ulaşabilirler. Buraya ulaşan talep ve şikayetler Hukuk Müşavirimiz tarafından incelenecek, şikayet yerinde görüldüğü takdirde ihlal olduğu düşünülen içerikler sitemizden kaldırılacaktır.

Ping your blog, website, or RSS feed for Free
 

Hızlı Sohbet