2. Facebook für (PHP) Entwickler
Über mich
Stephan Hochdörfer, bitExpert AG
Department Manager Research Labs
S.Hochdoerfer@bitExpert.de
@shochdoerfer
http://www.facebook.com/shochdoerfer
3. Facebook für (PHP) Entwickler
Facebook Fakten
Mehr als 800 Millionen aktive User
Mehr als 900 Millionen Objekte (Pages, Gruppen, Events,...)
~20 Millionen Apps werden pro Tag installiert
Pro Monat nutzen mehr als 500 Millionen User FB Apps
~350 Millionen User mit mobilen Clients
Quelle: https://www.facebook.com/press/info.php?statistics
26. Facebook für (PHP) Entwickler
Die erste Facebook App
Wie kommt die App auf die Fanpage?
27. Facebook für (PHP) Entwickler
Die erste Facebook App – Fanpage Integration
https://www.facebook.com/dialog/pagetab
?app_id=YOUR_APP_ID&next=YOUR_URL
28. Facebook für (PHP) Entwickler
Die erste Facebook App – Fanpage Integration
30. Facebook für (PHP) Entwickler
Request Flow
HTTP Post Request
+ signed_request
User / Facebook Applikations-
Browser Fanpage server
31. Facebook für (PHP) Entwickler
Request Flow - signed_request
sicherer Datenaustausch zw. Facebook und der eigenen
App
Konkatenation HMAC SHA-256 Signatur, einem Punkt (.)
und einem base64 kodierten JSON Objekt
Zum Dekodieren wird das App Secret benötigt!
Enthält Informationen zum User, Fanpage und Deeplink
Parameter
37. Facebook für (PHP) Entwickler
The Graph API presents a simple,
consistent view of the Facebook social
graph, uniformly representing objects in
the graph and the connections between
them.
38. Facebook für (PHP) Entwickler
Graph API – Wer bin ich?
https://graph.facebook.com/me?
access_token=
39. Facebook für (PHP) Entwickler
Graph API – Wer sind meine Freunde?
https://graph.facebook.com/me/friends?
access_token=
40. Facebook für (PHP) Entwickler
Graph API – Was mag ich?
https://graph.facebook.com/me/likes?
access_token=
41. Facebook für (PHP) Entwickler
Graph API (JS Style)
FB.api('/me', function(response) {
alert(response.name);
});
42. Facebook für (PHP) Entwickler
Graph API (JS Style)
var msg = 'Hello phpugffm!';
FB.api('/me/feed', 'post', { message: msg }, function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert('Post ID: ' + response.id);
}
});