Facebook-Programmierung - Entwicklung von Social Apps & Websites
von: Michael Kamleitner
Galileo Press, 2012
ISBN: 9783836218436
Sprache: Deutsch
552 Seiten, Download: 9228 KB
Format: PDF, auch als Online-Lesen
Auf einen Blick | 6 | ||
Inhalt | 8 | ||
Vorwort | 16 | ||
1 Einstieg in die Anwendungsentwicklung auf der Facebook- Plattform | 20 | ||
1.1 Überblick über die Facebook-Plattform | 20 | ||
1.2 Der Development Stack | 29 | ||
1.3 Hosting | 30 | ||
1.3.1 Leistungsfähigkeit und Skalierung | 31 | ||
1.3.2 SSL-Unterstützung | 32 | ||
1.4 Setup der ersten eigenen Applikation | 37 | ||
1.4.1 Einstellungen »Basic« | 40 | ||
1.4.2 Einstellungen zum »Auth Dialog« | 44 | ||
1.4.3 Einstellungen »Advanced« | 45 | ||
1.4.4 Benutzerrollen | 49 | ||
1.4.5 Open Graph | 51 | ||
1.4.6 Credits | 52 | ||
1.4.7 Insights | 52 | ||
1.5 Hello Facebook! | 52 | ||
1.5.1 Hello Facebook! als Tab-Anwendung | 55 | ||
1.6 Ressourcen und Tools für Entwickler | 57 | ||
1.6.1 Offizielle Dokumentation | 57 | ||
1.6.2 Developer-Blog und Live-Status | 57 | ||
1.6.3 Developer-Forum | 59 | ||
1.6.4 Developer-Tools | 59 | ||
1.6.5 Bug Tracker | 59 | ||
1.7 Terms of Service und Plattform-Guidelines | 60 | ||
2 Authentifikation und Autorisierung | 64 | ||
2.1 OAuth 2.0 | 65 | ||
2.2 Serverseitige Authentifikation | 66 | ||
2.2.1 Weiterleitung zum Facebook-OAuth-Dialog | 66 | ||
2.2.2 Der Callback am Anwendungsserver | 69 | ||
2.2.3 Bezug des Access Tokens | 71 | ||
2.2.4 Erweiterung der Authentifikation um Session-Management | 76 | ||
2.3 Clientseitige Authentifikation | 81 | ||
2.4 Signed Request | 83 | ||
2.4.1 Implementierung eines Fan-Gates | 88 | ||
2.5 Deautorisierung von Anwendungen | 89 | ||
2.6 Erweiterte Zugriffsrechte (»Extended Permissions«) | 90 | ||
2.6.1 Basisberechtigungen | 90 | ||
2.6.2 Berechtigungen für Profildaten von Benutzern und Freunden | 90 | ||
2.6.3 Erweiterte Berechtigungen | 92 | ||
2.7 Access Tokens für Anwendungen und Seiten | 95 | ||
2.7.1 Access Tokens für Anwendungen | 95 | ||
2.7.2 Access Tokens für Seiten | 96 | ||
3 Die Graph API | 100 | ||
3.1 Grundlagen der Graph API | 101 | ||
3.1.1 Zugriff mit eindeutigen Identifikationsnamen | 104 | ||
3.1.2 Authentifizierter Zugriff auf die Graph API | 106 | ||
3.1.3 Objektverknüpfungen im sozialen Graphen | 106 | ||
3.1.4 Selektion in der Graph API | 108 | ||
3.1.5 Selektion von Datumsfeldern | 109 | ||
3.1.6 Zugriff auf Profilbilder | 110 | ||
3.1.7 Paging in der Graph API | 111 | ||
3.1.8 Veröffentlichen und Löschen von Objekten mit der Graph API | 112 | ||
3.1.9 Der Graph API Explorer | 114 | ||
3.2 Objekttypen und Verknüpfungen der Graph API | 117 | ||
3.2.1 Das User-Objekt | 117 | ||
3.2.2 Das Seitenobjekt | 149 | ||
3.2.3 Das Gruppenobjekt | 164 | ||
3.2.4 Das Albumobjekt | 169 | ||
3.2.5 Das Anwendungsobjekt | 173 | ||
3.2.6 Das Domain-Objekt | 177 | ||
3.2.7 Das Fotoobjekt | 178 | ||
3.2.8 Das Videoobjekt | 183 | ||
3.2.9 Das Veranstaltungsobjekt | 186 | ||
3.2.10 Das Post-Objekt | 190 | ||
3.2.11 Das Linkobjekt | 195 | ||
3.2.12 Das Fragenobjekt | 198 | ||
3.2.13 Das Fragen-Optionsobjekt | 200 | ||
3.2.14 Das Checkin-Objekt | 201 | ||
3.2.15 Das Kommentarobjekt | 204 | ||
3.2.16 Das Notizenobjekt | 206 | ||
3.2.17 Das Review-Objekt | 209 | ||
3.2.18 Das Abonnementobjekt | 209 | ||
3.2.19 Das Konversationenobjekt | 210 | ||
3.2.20 Das Nachrichtenobjekt | 212 | ||
3.3 Performance und Caching der Graph API | 213 | ||
3.4 Batch-Zugriff auf die Graph API | 217 | ||
3.4.1 Einfache Batch-Zugriffe | 217 | ||
3.4.2 Verwendung von unterschiedlichen Access Tokens | 219 | ||
3.4.3 Kombination von Schreib- und Lesezugriffen | 219 | ||
3.4.4 Abhängigkeiten zwischen API-Zugriffen und Verschachtelung | 222 | ||
3.5 Echtzeit-Zugriff auf die Graph API | 223 | ||
3.5.1 Verwaltung von Echtzeit-Abonnements | 224 | ||
3.5.2 Entgegennehmen von Echzeit-Updates | 227 | ||
4 Das JavaScript SDK | 232 | ||
4.1 Laden des JavaScript SDKs | 232 | ||
4.1.1 Hello World mit dem Facebook JavaScript SDK | 234 | ||
4.1.2 Die Channel-Datei | 237 | ||
4.1.3 Lokalisierung des SDKs | 238 | ||
4.2 Kernmethoden des SDKs | 239 | ||
4.2.1 FB.init | 239 | ||
4.2.2 FB.api | 239 | ||
4.2.3 FB.login | 243 | ||
4.2.4 FB.logout | 244 | ||
4.2.5 FB.getLoginStatus | 245 | ||
4.2.6 FB.getAuthResponse | 246 | ||
4.2.7 FB.XFBML.parse | 247 | ||
4.3 Canvas-Methoden des SDKs | 248 | ||
4.3.1 FB.Canvas.getPageInfo | 248 | ||
4.3.2 FB.Canvas.scrollTo | 249 | ||
4.3.3 FB.Canvas.setSize | 249 | ||
4.3.4 FB.Canvas.setAutoGrow | 250 | ||
4.3.5 FB.Canvas.setUrlHandler | 252 | ||
4.3.6 FB.Canvas.setDoneLoading | 253 | ||
4.3.7 FB.Canvas.stopTimer | 254 | ||
4.3.8 FB.Canvas.startTimer | 255 | ||
4.3.9 FB.Canvas.Prefetcher.addStaticResource | 255 | ||
4.3.10 FB.Canvas.Prefetcher.setCollectionMode | 256 | ||
4.4 Dialoge mit FB.ui | 256 | ||
4.4.1 Feed-Dialog - Veröffentlichen von Pinnwand-Einträgen | 259 | ||
4.4.2 Friends-Dialog - Versenden von Freundschaftsanfragen | 265 | ||
4.4.3 OAuth-Dialog | 267 | ||
4.4.4 Payment-Dialog | 268 | ||
4.4.5 Requests-Dialog | 273 | ||
4.4.6 »Send«-Dialog | 283 | ||
4.4.7 Tab-Dialog | 286 | ||
4.5 Laden von Social Plugins | 287 | ||
4.6 Event-Handling | 289 | ||
4.6.1 FB.Event.subscribe | 289 | ||
4.6.2 FB.Event.unsubscribe | 291 | ||
4.6.3 Verfügbare Events | 291 | ||
5 Die Facebook Query Language (FQL) | 296 | ||
5.1 FQL-Zugriffe über die Graph API | 297 | ||
5.2 FQL-Tabellen | 300 | ||
5.2.1 Albumtabelle | 300 | ||
5.2.2 Application-Tabelle | 302 | ||
5.2.3 Apprequest-Tabelle | 303 | ||
5.2.4 Checkin-Tabelle | 305 | ||
5.2.5 Comment-Tabellen | 306 | ||
5.2.6 Connection-Tabelle | 308 | ||
5.2.7 Cookies-Tabelle | 309 | ||
5.2.8 Developer-Tabelle | 310 | ||
5.2.9 Domain-Tabellen | 310 | ||
5.2.10 Event-Tabellen | 312 | ||
5.2.11 Family-Tabelle | 314 | ||
5.2.12 Friend-Tabelle | 315 | ||
5.2.13 Friend-Request-Tabelle | 316 | ||
5.2.14 Friendlist-Tabellen | 317 | ||
5.2.15 Group-Tabellen | 318 | ||
5.2.16 Insights-Tabelle | 321 | ||
5.2.17 »Like«-Tabelle | 322 | ||
5.2.18 Linktabelle | 323 | ||
5.2.19 Link-Stat-Tabelle | 324 | ||
5.2.20 Mailbox-Folder-Tabelle | 326 | ||
5.2.21 Message-Tabelle | 327 | ||
5.2.22 Note-Tabelle | 327 | ||
5.2.23 Notification-Tabelle | 328 | ||
5.2.24 Object-URL-Tabelle | 330 | ||
5.2.25 Page-Tabellen | 331 | ||
5.2.26 Permission-Tabelle | 336 | ||
5.2.27 Fototabellen | 337 | ||
5.2.28 Place-Tabelle | 340 | ||
5.2.29 Privacy-Tabellen | 341 | ||
5.2.30 Profile-Tabelle | 343 | ||
5.2.31 Question-Tabellen | 344 | ||
5.2.32 Review-Tabelle | 346 | ||
5.2.33 Standard-Friend-Info-Tabelle | 347 | ||
5.2.34 Standard-User-Info-Tabelle | 347 | ||
5.2.35 Status-Tabelle | 348 | ||
5.2.36 Stream-Tabellen | 349 | ||
5.2.37 Thread-Tabelle | 354 | ||
5.2.38 Translation-Tabelle | 355 | ||
5.2.39 Unified-Message-Tabellen | 356 | ||
5.2.40 URL-Like-Tabelle | 361 | ||
5.2.41 User-Tabelle | 362 | ||
5.2.42 Videotabellen | 366 | ||
6 Social Plugins | 370 | ||
6.1 Laden von Social Plugins | 370 | ||
6.2 Der »Like«-Button | 372 | ||
6.3 Der »Send«-Button | 380 | ||
6.4 Der »Subscribe«-Button | 383 | ||
6.5 Die »Like«-Box | 384 | ||
6.6 Der Activity Feed | 388 | ||
6.7 Die Recommendations-Box | 391 | ||
6.8 Der Live Stream | 394 | ||
6.9 Die Kommentarbox | 396 | ||
6.10 Der »Log-In«-Button | 404 | ||
6.11 Die Facepile-Box | 405 | ||
6.12 Die Registrierungsbox | 407 | ||
7 Mobile Webanwendungen auf Facebook | 418 | ||
7.1 Einrichten der Mobile Web URL | 420 | ||
7.2 Mobile Nutzung von Facebook-Dialogen | 423 | ||
7.3 Social Plugins im mobilen Web | 426 | ||
8 Open Graph | 428 | ||
8.1 Open Graph Protocol | 428 | ||
8.1.1 Zusammenspiel zwischen Open Graph Tags, »Like«-Button und Facebook | 430 | ||
8.1.2 Die Tags des Open Graph Protocols | 432 | ||
8.1.3 Einbindung von Video-, Flash- und Audiodaten | 435 | ||
8.1.4 Testen von Open Graph Tags mit dem URL Debugger | 438 | ||
8.1.5 Administrieren und Veröffentlichen auf Open-Graph-Seiten | 439 | ||
8.2 Open Graph | 443 | ||
8.2.1 Ticker und Timeline-Profil | 444 | ||
8.2.2 Das Timeline-Profil im Überblick | 445 | ||
8.2.3 Definieren von Objekten | 450 | ||
8.2.4 Definieren von Aktionen | 460 | ||
8.2.5 Definieren von Aggregationen | 468 | ||
8.2.6 Veröffentlichen von Aktionen | 479 | ||
8.2.7 Der neue OAuth-Dialog | 488 | ||
8.2.8 Vordefinierte Objekt- und Aktionstypen | 491 | ||
8.2.9 Social Plugins für Open Graph | 500 | ||
9 Facebook Credits | 510 | ||
9.1 Einrichten von Facebook Credits | 511 | ||
9.2 Der Payment-Dialog | 513 | ||
9.3 Die Credits-Callback-URL | 514 | ||
9.3.1 Aufruf der Callback-URL zum Abrufen der Produktdetails | 514 | ||
9.3.2 Aufruf der Callback-URL zum Bestätigen der Transaktion | 517 | ||
9.3.3 Beispiel-Code zur Bedienung der Callback-URL | 520 | ||
9.3.4 Zugriff auf Transaktionen mit der Graph API | 522 | ||
9.4 Facebook Credits und Offers | 523 | ||
Anhang A Cloud-Hosting von Facebook- Anwendungen mit Heroku | 526 | ||
A.1 Anlegen der Heroku-Testapplikation | 527 | ||
A.2 Bearbeiten des Anwendungscodes mit Git | 529 | ||
A.3 Aufrufen der Heroku-Testapplikation | 533 | ||
Anhang B Internationalisierung von Facebook-Anwendungen | 534 | ||
B.1 Unterstützung von Locales und JavaScript SDK | 534 | ||
B.2 Internationalisierung von Anwendungstexten | 535 | ||
Anhang C Das offizielle Facebook PHP SDK | 540 | ||
C.1 Download und Installation des SDKs | 540 | ||
C.2 Autorisierung der Anwendung | 541 | ||
C.3 Zugriff auf die Graph API | 543 |