Facebook Platform, Genel Kavramlar, iFrame & FQL

Post on 17-May-2015

2.571 views 5 download

description

Ozgur Demir's presentation at Facebook Developer Garage Istanbul - 2009-10-11

Transcript of Facebook Platform, Genel Kavramlar, iFrame & FQL

Facebook PlatformGenel Kavramlar, iFrame & FQL

Özgür DemirSite Reliability Engineer / Software Engineer11 Ekim 2009

Facebook Platform Nedir ?

Facebook Platform Nedir ?

Facebook temel işlevlerini, yazılım geliştiricilerin kullanımına sunmak için hazırlanmış olan bileşenler bütünüdür

Facebook Platform Nedir ?

Facebook temel işlevlerini, yazılım geliştiricilerin kullanımına sunmak için hazırlanmış olan bileşenler bütünüdür

1. Identity (Kimlik)

Facebook Platform Nedir ?

Facebook temel işlevlerini, yazılım geliştiricilerin kullanımına sunmak için hazırlanmış olan bileşenler bütünüdür

1. Identity (Kimlik)2. Social Graph (Sosyal Grafik)

Facebook Platform Nedir ?

Facebook temel işlevlerini, yazılım geliştiricilerin kullanımına sunmak için hazırlanmış olan bileşenler bütünüdür

1. Identity (Kimlik)2. Social Graph (Sosyal Grafik)3. Stream (Veri Akışı)

Facebook Platform Nedir ?

Facebook temel işlevlerini, yazılım geliştiricilerin kullanımına sunmak için hazırlanmış olan bileşenler bütünüdür

1. Identity (Kimlik)2. Social Graph (Sosyal Grafik)3. Stream (Veri Akışı)

Identity SocialGraph

Stream

Nasıl ?

Facebook Platform Bileşenleri

Facebook Platform Bileşenleri

Facebook APIFBML (Facebook Markup Language)XFBML (Extended FBML)FQL (Facebook Query Language)FBJS (Facebook Javascript Library)

Facebook Uygulaması Veri Gösterim Yöntemleri

Facebook Uygulaması Veri Gösterim Yöntemleri

- FBML

<div id=‘welcome’>Merhaba <fb:name uid="12345" />, Hoşgeldin</div>

Facebook Uygulaması Veri Gösterim Yöntemleri

- FBML- iFrame

iFrame Uygulamalarında Program Akışı

http://apps.facebook.com/uygulama_adresi/

http://apps.facebook.com/uygulama_adresi/

Facebook

Sayfa yükleme istemi

http://apps.facebook.com/uygulama_adresi/

Facebook

iFrame dışındaki içerik ve fb_sig parametreleri

http://apps.facebook.com/uygulama_adresi/

Uygulama Sunucusu

iFrame içeriği istemi

http://apps.facebook.com/uygulama_adresi/

Uygulama Sunucusu

apps.facebook.com

iFrame içeriği istemi

API istemi (FQL)

http://apps.facebook.com/uygulama_adresi/

Uygulama Sunucusu

apps.facebook.com

iFrame içeriği istemi

API sonuç verisi

http://apps.facebook.com/uygulama_adresi/

Uygulama Sunucusu

iFrame içeriği

Yetkilendirme ve Güvenlik

Yetkilendirme ve Güvenlik

fb_sig parametreleri

Yetkilendirme ve Güvenlik

fb_sig parametreleri

fb_sig_addedfb_sig_api_keyfb_sig_localefb_sig_timefb_sig_user/fb_sig_canvas_userfb_sig_session_keyfb_sig_expiresfb_sig_in_canvasfb_sig_in_profile_tab

Yetkilendirme ve Güvenlik

$_REQUEST ve fb_sig

$fbsig = array();foreach($_GET as $key=>$value) { if(substr($key,0,7) == 'fb_sig_') { $fbsig[substr($key,7)] = $value; }}ksort($fbsig);

foreach($fbsig as $key=>$value) { $string .= $key . '=' . $value;}$string .= $secret;

if (md5($string) == $_GET['fb_sig’]) { // OK} else { // NOT OK}

FQL

SELECT name, status, is_app_user FROM user WHERE uid=211031

FQL

require_once 'facebook.php';

$appapikey = ’UYGULAMA APP KEY';$appsecret = ’UYGULAMA APP SECRET';

FQL

require_once 'facebook.php';

$appapikey = ’UYGULAMA APP KEY';$appsecret = ’UYGULAMA APP SECRET';

$sessionKey = $_REQUEST['fb_sig_session_key'];$fbClient = new FacebookRestClient($appapikey, $appsecret, $sessionKey);

FQL

require_once 'facebook.php';

$appapikey = ’UYGULAMA APP KEY';$appsecret = ’UYGULAMA APP SECRET';

$sessionKey = $_REQUEST['fb_sig_session_key'];$fbClient = new FacebookRestClient($appapikey, $appsecret, $sessionKey);

$userid = $_REQUEST['fb_sig_user'];

$fql = "SELECT name, status, is_app_user FROM user WHERE uid= “ . $userid;$userInfo = $fbClient->fql_query($fql);

FQL

require_once 'facebook.php';

$appapikey = ’UYGULAMA APP KEY';$appsecret = ’UYGULAMA APP SECRET';

$sessionKey = $_REQUEST['fb_sig_session_key'];$fbClient = new FacebookRestClient($appapikey, $appsecret, $sessionKey);

$userid = $_REQUEST['fb_sig_user'];

$fql = "SELECT name, status, is_app_user FROM user WHERE uid= “ . $userid;$userInfo = $fbClient->fql_query($fql);

// $userInfo[0][‘name’] Kullanicinin tam adi// $userInfo[0][‘status’] Status mesaji// ..

Sorular ?

Sorular ?

ozgur@facebook.com Subject: Garage

(c) 2009 Facebook, Inc. or its licensors.  "Facebook" is a registered trademark of Facebook, Inc.. All rights reserved. 1.0