Skip to Content
Facebook Cookbook
book

Facebook Cookbook

by Jay Goldman
October 2008
Intermediate to advanced
434 pages
12h 7m
English
O'Reilly Media, Inc.
Content preview from Facebook Cookbook

FBML Caching

Problem

I’d like to take advantage of Facebook’s FBML caching to store a block of FBML that I use often.

Solution

Use the fb:ref tag. There are two ways to use it, depending on how you’ve architected your app:

By handle

If you’re developing heavily in the Facebook API, this is probably the better method for you. Use the API call setRefHandle to initialize your handle:

$facebook->api_client->fbml_setRefHandle("MyUniqueAppHandle", "Some FBML Content");

Then insert the fb:ref tag in your FBML to pull the block out and display it:

<fb:ref handle="MyUniqueAppHandle" />

Now when you want to update the content, just call setRefHandle again with new FBML and it will change everywhere you’ve put fb:ref tags.

By URL

If your app is based more on different files or pages on a server, you can still put FBML into the cache by giving it a unique URL. Create a page that only renders out the block you’d like stored, and then use the alternate form of the fb:ref tag:

<fb:ref url="http://www.someserver.com/cacheThisPage.php" />

When you want to change the content, update your page on your server and then make a simple API call to tell Facebook that it needs to reindex that URL:

$facebook->api_client->fbml.refreshRefUrl("http://www.someserver
.com/cacheThisPage.php")

Discussion

There are lots of places you might use this—really wherever you have a block of relatively static content you want to display—but the best use is probably for Profile Boxes that aren’t user-specific. In that case, you’ll want to ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Mac OS® X Tiger™ Unleashed

Mac OS® X Tiger™ Unleashed

John Ray, William Ray
HTML5 Geolocation

HTML5 Geolocation

Anthony T. Holdener
z/TPF and WebSphere Application Server in a Service Oriented Architecture

z/TPF and WebSphere Application Server in a Service Oriented Architecture

Joe DeCarlo, Barry Baker, Edwin van de Grift, Jason Keenaghan, Dong Jun Lan, Bill Supon, Stuart Waldron, Dan Weber

Publisher Resources

ISBN: 9780596156695Errata