More Details on Facebook’s New Per-Post Platform Privacy Settings, FQL Features

Facebook posted a couple of updates on the developer blog today about some new features recently added to the Platform APIs, including new FQL tables and new application privacy settings. Here’s a quick look at the most relevant parts, and what they mean for the developer community.

Per-Post Privacy Settings

Facebook’s new per-post privacy settings have now come to the Platform. Whenever an application prompts a user to publish a stream item, users will now have the ability to set the privacy settings as they would with any other stream story posted through the publisher. Facebook added a privacy parameter to the following three methods today, to compliment the settings found on the stream story prompts:

It is interesting to note that this is the first time Facebook given applications the authority to pass privacy parameters on behalf of users. Of course, it is not without restrictions. Facebook’s updated privacy policy states, “Any non-default privacy setting must be intentionally chosen by the user. You may not set a custom privacy setting unless the user has proactively specified that they want this non-default setting.” Currently the privacy parameter is optional and any stories published without a privacy parameter specified will be made using the user’s default settings.

Developers are being asked to build the complex interface which customizes privacy themselves, which will likely prevent widespread use of these settings. Developers  may resort to offering a simple checkbox to “Publish to everyone” and omitting the more complicated scenarios which involve multiple API calls. In general, these updates are aimed at third party stream clients such as Seesmic or Digsby, and may not be immediately embraced by smaller developers looking to spread their content to as many users as possible.

FQL Updates

Facebook is adding four new FQL tables, as well as a new column of an already existing table. The new tables being added are:

  • privacy: This table returns the user’s privacy settings for a video, note, link, photo, or photo album. See below for more details.
  • like: This table returns a list of IDs of the users who like a video, note, link, photo, or photo album.
  • developer: This table returns a list of application IDs for your user ID.
  • permissions_info: This table returns more descriptive information about an extended permission.

You can now also query whether a user can upload to a given album before asking the API to do so, all via the album FQL table.