HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
In The Developer’s Guide to Social Programming, Mark Hawker shows developers how to build applications that integrate with the major social networking sites. Unlike competitive books that focus on a single social media platform, this book covers all three leading platforms: Facebook, OpenSocial, and Twitter. Hawker identifies the characteristics of superior, highly engaging social media applications, and shows how to use the Facebook platform, Google Friend Connect, and the Twitter API to create them.
You’ll find practical solutions and code for addressing many common social programming challenges, from site registration to search, blog commenting to creating location-based applications. Hawker concludes by walking you through building a complete, integrated social application: one that works seamlessly across all leading platforms, and draws on powerful features from each. Coverage includes
Google Maps and the Mobile/Social/Local Internet
Mobile Mapping on Android and iPhone Using the Google Maps JavaScript API
Download the sample pages (includes Chapter 8 and Index)
I: Twitter
1 Working with the Twitter API 1
Twitter API Essentials 1
Twitter API Methods 3
Twitter API Parameters 6
Twitter API Return Formats 10
Accessing the Twitter API 11
cURL 12
Twitter-async 14
Twitter API Rate Limiting 17
Twitter API Error Handling 18
Summary 19
2 Diving Into the Twitter API Methods 21
Twitter API Methods 21
User Objects 23
Status Objects 26
Direct Message Objects 28
Saved Search Objects 29
ID Objects 30
Relationship Objects 31
Response Objects 32
Hash Objects 33
Twitter Search API 34
Introducing the Atom Syndication Format 34
Twitter Search API Methods 38
Summary 43
3 Authentication with Twitter OAuth 45
Introducing Twitter OAuth 45
OAuth Benefits 46
OAuth Definitions 46
Implementing Twitter OAuth 48
Twitter OAuth Workflow 48
Test Tube: A Sample Twitter Application 50
Summary 59
4 Extending the Twitter API: Retweets, Lists,
and Location 61
Extending Twitter’s Core Functionality 61
Retweet API 62
Lists API 64
Geolocation API 68
Twitter Community Evolution 71
Platform Translations 71
Spam Reporting 72
Future Directions 74
Summary 76
II: Facebook Platform
5 An Overview of Facebook Platform Website
Integration 77
Facebook Platform for Developers 77
Facebook Platform 78
Registering a Facebook Application 79
Referencing a Facebook Platform Application 81
Facebook API, FQL, and XFBML 84
Facebook API and FQL 84
XFBML 97
Summary 98
6 Registration, Authentication, and Translations with Facebook 99
User Authorization and Authentication 99
Logging In and Detecting Facebook Status 101
Logging Out, Disconnecting, and Reclaiming
Accounts 107
Connecting and Inviting Friends 109
Translations for Facebook 111
Preparing Your Application and Registering Text 111
Administering and Accessing Translations 113
Summary 114
7 Using Facebook for Sharing, Commenting, and Stream Publishing 115
Content-Sharing and Live Conversation 115
Facebook Share 116
Facebook Widgets 118
Social Commenting and Stream Publishing 120
Comments Box 120
Open Stream API 123
Summary 135
8 Application Discovery, Tabbed Navigation, and the Facebook JavaScript Library 137
Application Dashboards and Counters 138
News and Activity Streams 139
Games and Applications Counters 143
Navigating and Showcasing Your Application
Using Tabs 145
Configuring and Installing an Application Tab 146
Extending an Application Tab 149
Dynamic Content and the Facebook
JavaScript (FBJS) Library 157
Facebook Animation Library 157
Facebook Dialogs 160
Handling Events with an Event Listener 162
Summary 164
III: Google Friend Connect
9 An Overview of Google Friend Connect 165
Components of Google Friend Connect 165
Google Friend Connect Gadgets 166
Google Friend Connect JavaScript API 167
Server-Side Integration 167
Google Friend Connect Plug-ins 168
Using the Google Friend Connect JavaScript API 169
Installing and Configuring the JavaScript Library 169
Working with Google Friend Connect Data 171
An Overview of the OpenSocial API 173
OpenSocial API Methods 173
The DataRequest Object 174
Fetching People and Profiles 176
Fetching and Updating Activities 177
Fetching and Updating Persistence 178
Color Picker: A Google Friend Connect Application 181
Summary 191
10 Server-Side Authentication and OpenSocial Integration 193
Server-Side OpenSocial Protocols and Authentication Methods 193
Google Friend Connect Authentication Methods 194
OpenSocial Client Libraries 196
Using the PHP OpenSocial Client Library with Google Friend Connect 197
Google Friend Connect Authentication Workflow 197
Setting Up a Server-Side Application 198
OpenSocial Data Extraction Principles 201
Summary 207
11 Developing OpenSocial Gadgets with Google Friend Connect 209
An Overview of Google Gadgets 209
Anatomy of an OpenSocial Google Gadget 210
OpenSocial v0.9 Specification 214
Advanced OpenSocial Gadget Development 217
Creating a Google Gadget 222
Color Picker, Revisited 222
Testing, Tracking, and Directory Submission 230
Summary 233
IV: Putting It All Together
12 Building a Microblog Tool Using CodeIgniter 235
An Overview of CodeIgniter 235
The Model-View-Controller Architectural Design 236
Installing, Configuring, and Exploring CodeIgniter 237
CodeIgniter Libraries 240
CodeIgniter Helpers 245
Building the Basic Sprog Application 246
Stage 1: Creating the Registration, Login, and Home Pages 247
Stage 2: Extending the Sprog Application with Updates, Comments, and Likes 257
Summary 266
13 Integrating Twitter, Facebook, and Google Friend Connect 267
Implementing Twitter Functionality 267
Setting Up Twitter and Twitter-async Support 268
Stage 3: Extending the Sprog Application with Twitter Functionality 270
Updating a User’s Twitter Account 276
Implementing Facebook Functionality 279
Registering a Facebook Application and Adding Facebook Support 279
Stage 4: Extending the Sprog Application with Facebook Functionality 281
Implementing Google Friend Connect Functionality 292
Registering and Adding Google Friend Connect Support 292
Stage 5: Extending the Sprog Application with Google Friend Connect Functionality 294
Summary 301
Index 303