facebook apps: ein entwicklungsleitfaden - wmmrn
TRANSCRIPT
Facebook Apps: Ein Entwicklungsleitfaden
Facebook Apps: Entwicklungsleitfaden
Über mich
Stephan Hochdörfer, bitExpert AG
Department Manager Research Labs
@shochdoerfer
http://www.facebook.com/shochdoerfer
Facebook Apps: Entwicklungsleitfaden
Damals: Umfangreiches Ökosystem
Facebook Apps: Entwicklungsleitfaden
Heute: Die Graph API
Facebook Apps: Entwicklungsleitfaden
Die Graph API: REST
https://graph.facebook.com/1047746467
Facebook Apps: Entwicklungsleitfaden
Die Graph API: REST + JSON
{ "id": "1047746467", "name": "Stephan Hochdoerfer", "first_name": "Stephan", "last_name": "Hochdoerfer", "link": "https://www.facebook.com/shochdoerfer", "username": "shochdoerfer", "gender": "male", "locale": "de_DE"}
Facebook Apps: Entwicklungsleitfaden
/me/friends?access_token=
Facebook Apps: Entwicklungsleitfaden
Die erste Facebook App
Facebook Apps: Entwicklungsleitfaden
Die erste Facebook App<!DOCTYPE html><html xmlns:fb="https://www.facebook.com/2008/fbml"><body><div id="fb-root"></div><script>window.fbAsyncInit = function() { FB.init({ appId: 'your app id', status: true, cookie: true, xfbml: true });};(function() { var e = document.createElement('script'); e.async = true; e.src = document.location.protocol+'//connect.facebook.net/en_US/all.js'; document.getElementById('fb-root').appendChild(e);}());</script></body><html>
Facebook Apps: Entwicklungsleitfaden
Facebook Apps: Entwicklungsleitfaden
Facebook Apps: Entwicklungsleitfaden
Fan oder Nicht Fan?
<?php
$request = $facebook->getSignedRequest();$isFan = isset($request['page']) && isset($request['page']['liked']);
?>
Facebook Apps: Entwicklungsleitfaden
Login / AuthentifzierungFB.getLoginStatus(function(response) { if (response.session) {
// User eingeloggt } else {
// Versuchen den User einzuloggen FB.login(function(response) {
if(response.session) { if(response.perms) {
// ist eingeloggt.... }
} }, {
perms: 'publish_stream, offline_access' });
}});
Facebook Apps: Entwicklungsleitfaden
Wallpost (JS Style)
var pageId = 12345678;var post = { message: '', name: 'Der Name des Links', caption: 'Die Beschreibung', link: 'http://www.facebook.com/'+pageId, attribution: 'Meine App'};
FB.api('/'+pageId+'/feed', 'post', post);
Facebook Apps: Entwicklungsleitfaden
Wallpost (PHP Style)<?php
$pageId = 12345678;$post = array(
'message' => '','name' => 'Der Name des Links','caption' => 'Die Beschreibung','link' => 'http://www.facebook.com/'.$pageId,'attribution' => 'Meine App'
);
$facebook->api('/'.$pageId.'/feed', 'post', $post);
Facebook Apps: Entwicklungsleitfaden
FQL enables you to use a SQL-style interface to query the data exposed by
the Graph API.
Facebook Apps: Entwicklungsleitfaden
FQL (JS Style)
FB.api({ method: 'fql.query', query: 'select first_name,last_name,email from userwhere uid = me()'},function(response) { console.log(response);});
Facebook Apps: Entwicklungsleitfaden
FQL (JS Style) - Subselect
FB.api({ method: 'fql.query', query: 'select first_name,last_name,email from userwhere uid IN (SELECT uid2 FROM friend WHERE uid1 =me())'},function(response) { console.log(response);});
Vielen Dank!