Adding Missing PHP Client Library Methods

Problem

Some of the methods documented in this chapter throw a “Call to undefined method” error when I try to use them!

Solution

The bad news: five methods listed in the Developers Wiki are missing from the official Facebook PHP 4/5 Client Library: Photos.createAlbum(), Photos.upload(), photos.addTag(), Users.hasAppPermission(), and Users.setStatus(). The good news: you can add some of them yourself! The only tricky one is Photos.upload() because it requires you to submit raw data from a file upload field, so you might instead want to look at the extended version of the Client Library mentioned in Uploading a Photo.

These instructions are for the PHP 5 version of the Client Library, but you should be able to apply them to the PHP 4 version as well:

  1. Back up the copy of facebookapi_php5_restlib.php on your server, just in case we break something. You could also install them into an entirely new file and include it too, so that you don’t have to remember to make the same changes in future versions of the Client Library.

  2. Open the nonbackup version in a text editor.

  3. You can either insert all the new methods in one group, or you can find the right place in the file to insert them so that they’re with the related functions that the Client Library does include. I recommend the latter, so scroll down to line 596 and insert these two functions:

/** * Creates a new Photo album * @param string $name : name of the new album * @param string $location : location ...

Get Facebook Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.