ebook img

Facebook API Developers Guide PDF

151 Pages·2008·10.4 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Facebook API Developers Guide

Books for professionals By professionals® Available as a PDF Electronic Book F or Print On Demand Apress’s firstPress series is your source for understanding cutting-edge technology. Short, highly a focused, and written by experts, Apress’s firstPress books save you time and effort. They contain c e the information you could get based on intensive research yourself or if you were to attend a b conference every other week—if only you had the time. They cover the concepts and techniques o that will keep you ahead of the technology curve. Apress’s firstPress books are real books, in your o k choice of electronic or print-on-demand format, with no rough edges even when the technology A itself is still rough. You can’t afford to be without them. P I Facebook API D e v Facebook API Developers Guide e l o p e Dear Reader, r s Facebook has grown into one of the most popular web sites on the Internet boasting more Developers Guide G than 60 million active users Facebook’s success began with its popularity on college and u university campuses and quickly spread into other areas when it opened the web site up i d to everyone As part of its strategic growth, Facebook developed a platform to enable its e users to leverage their own programming skills to extend the Facebook application The Facebook platform is comprised of a number of REST APIs and client libraries that allow developers to quickly build their own applications for business, for communication, and, well, just for fun The Facebook platform has allowed community Facebook users to develop popular applications such as Super Wall, Top Friends, and Super Poke that extend the basic functionality of Facebook to include some additional bells and whistles Introducing the Facebook Platform 1 CHAPTER 1 When I was developing my first Facebook application, I discovered that not only were there some rather gaping holes in the documentation, but the platform was also changing Getting Ready for Facebook Application Development 9 so rapidly that most releases would actually “break” my application! These types of chang- CHAPTER 2 es have tapered off, and the numerous enhancements to the language make many com- Learning Facebook Platform Fundamentals 31 mon programming tasks much simpler Even with some of the criticisms of the platform, CHAPTER 3 Facebook has by and large done a remarkable job in balancing its commitment to allowing developers to create new and exciting applications while protecting its users’ privacy Building a Facebook Application, Start to Finish 71 CHAPTER 4 This book covers many of the important aspects of Facebook application develop- ment, including how to set up an application, language basics, and common pitfalls Going Further with Your Application 129 CHAPTER 5 In addition, it walks you through building a complete application that enables mul- tiple users to share comments, reviews, and screenshots of their favorite video games The book closes with brief coverage of methods to monetize your application in order to help offset your incurred server costs 137 Have fun! PAGeS Wayne Graham Wayne Graham G r a h SOURCE CODE ONLINE a m www.apress.com User level: Beginner–Intermediate this print for content only—size & color not accurate spine = 0.326" 152 page count Facebook API Developers Guide WAYNE GRAHAM Facebook API Developers Guide Copyright © 2008 by Wayne Graham All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13: 978-1-4302-0969-0 ISBN-10: 1-4302-0969-0 eISBN-13: 978-1-4302-0970-6 Printed and bound in the United States of America (POD) Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trade- marked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Ben Renow-Clarke Technical Reviewer: Mark Johnson Editorial Board: Clay Andres, Steve Anglin, Ewan Buckingham, Tony Campbell, Gary Cornell, Jonathan Gennick, Kevin Goff, Matthew Moodie, Joseph Ottinger, Jeffrey Pepper, Frank Pohlmann, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh Senior Project Manager: Tracy Brown Collins Copy Editor: Kim Wimpsett Compositor: Richard Ables Cover Designer: Kurt Krames Manufacturing Director: Tom Debolski Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail [email protected], or visit http://www.springeronline.com. For information on translations, please contact Apress directly at 2855 Telegraph Avenue, Suite 600, Berkeley, CA 94705. Phone 510-549-5930, fax 510-549-5939, e-mail info//www.apress.com. Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook ver- sions and licenses are also available for most titles. For more information, reference our Special Bulk Sales—eBook Licensing web page at http://www.apress.com/info/bulksales. The information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. The source code for this book is available to readers at http://www.apress.com. For Anna and Stella. Contents About the Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix About the Technical Reviewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi ■ CHAPTER 1 Introducing the Facebook Platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 What Is Facebook?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 A Brief History of Facebook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 The Elements of the Facebook Platform. . . . . . . . . . . . . . . . . . . . . . . . . 2 Facebook Markup Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 REST API Calls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Facebook Query Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Facebook JavaScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Client Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 ■ CHAPTER 2 Getting Ready for Facebook Application Development . . . . . . . . . . . 9 What’s Needed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Creating a Facebook Account. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Understanding Facebook Layout and Terms. . . . . . . . . . . . . . . . . 10 Setting Up Your Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Adding the Developer Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Understanding How Facebook Applications Work. . . . . . . . . . . . . . . . . 15 Creating a New Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Facebook Terms of Service Highlights . . . . . . . . . . . . . . . . . . . . . 19 Using Facebook Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 API Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 JSON. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 PHP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 FBML Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Feed Preview Console Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Using Programming Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ■ CHAPTER 3 Learning Facebook Platform Fundamentals . . . . . . . . . . . . . . . . . . . . 31 Client Library Primer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 API Primer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 v vi ■ CONTENTS Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 FBML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 FQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Friends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Marketplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Photos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Error Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Data Store API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 FQL Primer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Functions and Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Facebook Markup Language Primer. . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Valid HTML Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 FBML Tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Conditionals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 User/Group Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Profile Specific. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Embedded Media. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Visibility on Profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Other. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Editor Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Page Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Dialog Boxes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Wall. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Mock Ajax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Facebook JavaScript Primer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 DOM Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Putting It Together. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Things to Remember . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 ■ CHAPTER 4 Building a Facebook Application,Start to Finish. . . . . . . . . . . . . . . . 71 Setting Up Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 ■ CONTENTS vii Using Plug-Ins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Remote Project Support (FTP/SFTP). . . . . . . . . . . . . . . . . . . . . . . 73 PHP Development Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Data Tools Platform SQL Development Tools . . . . . . . . . . . . . . . . 78 Connecting to Your Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Layout Out the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Creating the Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Designing the Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Working with SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Jumping In. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 External Web Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Game Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Add Game. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Publishing Feeds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Launching Your Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Creating the About Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Creating a Logo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Submitting for Approval. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Publicizing Your Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Advanced Techniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 ■ CHAPTER 5 Going Further with Your Application. . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Application Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Monetizing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 AdSense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Amazon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Adonomics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Others. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Advertising Tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Selling Your Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Help,I’m Stuck! (and Other Resources) . . . . . . . . . . . . . . . . . . . . . . . 136 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Description:
The Facebook API allows web developers to create Facebook applications and access Facebook data from other applications. Facebook API Developers Guide covers the use and implementation of the Facebook API—what the key features are and how you can access them. You will learn, through practical exam
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.