Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010185535 | QA76.76.A65 G47 2008 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
The wildly popular Facebook social networking platform has published an open Application Programming Interface (API) and developers are eating it up--60,000 signed up to use it in the first few days; with this API, any programmer can create applications and new features for Facebook Explores and explains the components available to programmers, including working with Facebook Markup Language (FBML), querying Facebook with FQL, application layout and flow, advanced configuration and performance tuning, and more Businesses such as NBC, Yahoo!, Red Bull, Forbes, and the Washington Post are building branded applications to reach the growing Facebook community
Author Notes
Nick Gerakines is a software engineer at Yahoo! in San Francisco, California where he works on del.icio.us and contributes to numerous other projects and Facebook applications. In addition, he has written several Facebook applications of his own, including the popular I Play WoW application. He is an active member of the Facebook developer community and writes frequently on the topic. He lives in Mountain View, California with his wife, Carolyn, and daughter, Vanessa.
Table of Contents
Acknowledgments | p. xi |
Introduction | p. xix |
Part I Understanding the Facebook Platform | p. 1 |
Chapter 1 Facebook as a Platform | p. 3 |
Evolution of Facebook | p. 3 |
Facebook Services | p. 4 |
The Technology behind Facebook | p. 5 |
Introduction to the Core Technologies | p. 5 |
Role of the Application | p. 6 |
Anatomy of an Application | p. 7 |
Application Canvas | p. 7 |
Application Profile Box | p. 8 |
Application About Page | p. 9 |
News Feed and Mini-Feed | p. 10 |
Application Directory | p. 12 |
Notifications and Requests | p. 13 |
Facebook Pages | p. 14 |
Message Attachments | p. 14 |
Application Request Process | p. 16 |
Validating the Request Signature | p. 18 |
Client Libraries | p. 18 |
The Developer Center and Developer Application | p. 18 |
Application Traits | p. 19 |
Top Friends | p. 19 |
iLike | p. 19 |
Extended Info | p. 20 |
Art | p. 20 |
Fortune Cookie | p. 21 |
Honesty Box | p. 21 |
Causes | p. 21 |
del.icio.us | p. 22 |
Pirates vs. Ninjas | p. 22 |
Election '08 | p. 23 |
Scrabulous | p. 23 |
Application Trait Overview | p. 23 |
Advertising and Marketing | p. 24 |
Perfecting a Single Idea | p. 24 |
Adding New Functionality and Extending Functionality | p. 25 |
Cosmetic Enhancements | p. 25 |
Business Relationships | p. 25 |
Facebook Beacons | p. 25 |
Summary | p. 25 |
Chapter 2 Building Your First Application | p. 27 |
What You Need | p. 27 |
Outlining the Functionality and Features | p. 27 |
Creating the Application | p. 28 |
Introducing the Facebook Developer Application | p. 28 |
Creating the 'Hello World' Application | p. 28 |
Writing the Application | p. 33 |
Preparing the Application Environment | p. 33 |
Application Layout and Structure | p. 34 |
Class Overview | p. 34 |
Canvas Pages | p. 37 |
Evaluating the Status | p. 45 |
Summary | p. 46 |
Chapter 3 Facebook Markup Language (FBML) | p. 47 |
Understanding FBML | p. 47 |
Entities | p. 48 |
HTML | p. 48 |
Operators | p. 49 |
Navigation | p. 51 |
Informational | p. 54 |
User and Group | p. 56 |
Information Control | p. 58 |
Profile | p. 62 |
Profile Visibility | p. 64 |
Media and External Content | p. 66 |
Notifications and Requests | p. 70 |
Facebook Widgets | p. 73 |
Editor and Forms | p. 75 |
System | p. 80 |
Miscellaneous | p. 81 |
Dynamic FBML Attributes | p. 84 |
Visibility | p. 84 |
Mock-Ajax | p. 85 |
Forms | p. 86 |
Images | p. 86 |
Forms | p. 87 |
CSS and the DOM | p. 87 |
Summary | p. 87 |
Chapter 4 Advanced FBML | p. 89 |
FBML and FBJS | p. 89 |
The Basics | p. 89 |
Element and ID Renaming | p. 93 |
FBML Canvas Rules and Caveats | p. 95 |
FBJS DOM Objects | p. 95 |
CSS and Styling | p. 98 |
Event Handling | p. 99 |
Ajax | p. 100 |
Dialogs | p. 104 |
Summary | p. 108 |
Chapter 5 Using the Facebook API | p. 109 |
The Method Request | p. 109 |
Common Request Parameters | p. 110 |
Responses | p. 111 |
Error Handling | p. 111 |
XML | p. 113 |
JSON | p. 113 |
Method Definitions | p. 113 |
Authentication | p. 113 |
News Feed and Mini-Feed | p. 114 |
FQL | p. 121 |
Friends | p. 122 |
Notifications | p. 125 |
Profile | p. 128 |
User | p. 130 |
Events | p. 139 |
Groups | p. 143 |
Photos | p. 146 |
FBML | p. 153 |
Marketplace | p. 155 |
Summary | p. 162 |
Chapter 6 Data Mining with FQL | p. 163 |
FQL Requests | p. 163 |
FQL Responses | p. 164 |
XML | p. 164 |
JSON | p. 164 |
FQL Syntax | p. 166 |
Available Fields and Tables | p. 167 |
Additional Query Components | p. 172 |
Fields with Complex Data Structures | p. 173 |
Using This in Your Applications | p. 174 |
Method Replacement | p. 174 |
Storing Data | p. 174 |
Summary | p. 175 |
Chapter 7 Authentication | p. 177 |
Authentication Components | p. 177 |
Identifying an Application | p. 178 |
Sessions | p. 179 |
Signatures | p. 179 |
Application Authentication | p. 180 |
Validating Requests | p. 180 |
Forcing Views | p. 183 |
External Application Authentication | p. 184 |
Creating Sessions from Desktop Applications | p. 192 |
Summary | p. 195 |
Part II Building Facebook Applications | p. 197 |
Chapter 8 Resources for Developers | p. 199 |
The Developers Application | p. 199 |
My Applications | p. 200 |
Discussion Board | p. 206 |
Updates and Service Announcements | p. 207 |
Application Stats | p. 208 |
The Developers Web Site | p. 209 |
Documentation | p. 209 |
Resources | p. 209 |
Tools | p. 210 |
Wiki | p. 211 |
Bug-Tracking | p. 211 |
Test Accounts | p. 211 |
Summary | p. 212 |
Chapter 9 Doing More with Hello World | p. 213 |
Looking Back | p. 213 |
Going Forward | p. 214 |
Preparation | p. 214 |
Creating Better Profiles | p. 215 |
Event Tracking with Application Events | p. 220 |
Sending and Tracking Invitations | p. 222 |
Statistics and Metrics | p. 227 |
Summary | p. 228 |
Chapter 10 External Application Development | p. 229 |
Defining the External Application | p. 229 |
Creating an External Application | p. 230 |
Preparation | p. 230 |
Installing MediaWiki | p. 231 |
Disabling Anonymous Edits | p. 233 |
Disabling Account Creation | p. 233 |
Removing the Login Link | p. 233 |
Creating the External Application | p. 233 |
Developing the AuthFacebook Component | p. 234 |
Developing the Facebook Component | p. 245 |
Exercises | p. 248 |
Summary | p. 248 |
Chapter 11 Best Practices | p. 249 |
Common Goals | p. 249 |
Creating Automated Jobs | p. 249 |
Application Settings and Configuration | p. 257 |
Respecting User Privacy in a Social World | p. 262 |
Caveats | p. 263 |
Callback URLs Are Not to Redirect | p. 263 |
The 12-Second Rule | p. 263 |
Callback URLS Cannot Be Made Using SSL | p. 263 |
Design Patterns | p. 264 |
Common Elements | p. 264 |
Styles and Colors | p. 264 |
Canvas Navigation | p. 265 |
Displaying Ads | p. 266 |
Using Dialogs Efficiently | p. 267 |
Summary | p. 270 |
Appendix A PHP File Reference | p. 271 |
Index | p. 315 |