News for Developers

Back to News
Platform Updates: Operation Developer Love
Dani Andrés Torvisco
December 9, 2013

This week we hosted f8 and announced several new, exciting features for Facebook Platform. You can catch up by watching the recorded videos from the f8 live stream, reading our post explaining the changes, or watching our how-to video which will help get you started building on all the new features.

Renaming setAutoResize to setAutoGrow

There have been several bugs reported about how FB.Canvas.setAutoResize doesn’t set the height of the iframe correctly in some scenarios. We have been trying to fix this and and have pushed various fixes to ensure that it works correctly for the case when the iframe grows in height. We however came to the conclusion that it is hard for us to do this accurately when the iframe shrinks in height. As a result we are renaming this function to FB.Canvas.setAutoGrow so that it accurately reflects its functionality. If your iframe is shrinking for whatever reason we recommend that you use FB.Canvas.setSize with a height parameter to set the iframe height explicitly.

As part of this change, you should be able to use FB.Canvas.setAutoGrow today. FB.Canvas.setAutoResize will work for the next 90 days and we will remove support for this method on January 1st, 2012. Here is some sample code to test the grow functionality.

    <html> 
    <head> 
    <title>FB.Canvas.setAutoGrow Example</title> 
    </head> 

    <body style="margin:0; padding:0; border:0; background-color:#555555;" > 
    <div id='fb-root'></div> 
    <script src="http://connect.facebook.net/en_US/all.js"></script> 
    <script type="text/javascript"> 
    FB.init({
    appId  : 'YOUR_APP_ID',
    oauth  : true,
    });

    FB.Canvas.setAutoGrow();

    function growSize() {
    var height = Number(
    document.getElementById('myContent').style.height.split('px')[0])
    + 100;
    document.getElementById('myContent').style.height = height + 'px';
    }
    </script> 
    <div id="myContent" style="background-color:#FF0000; height: 100px;"> 
    <input type="button" value="Grow!" onclick="growSize();"/> 
    </div> 
    </body> 
    </html>
  

Getting mutual friends in the Graph API

This week we added a connection for the User object that allows you to get the list of mutual friends between two users. To use it, just get an access token for the current user and issue a GET request to:

https://graph.facebook.com/me/mutualfriends/FRIEND_ID

You will receive a JSON object containing an array of user names and IDs who are friends with both users. For example, to see if you and I have any mutual friends, check out this link in the Graph API Explorer.

More fields available for the Application object in the Graph API

This week, in addition to the exisiting fields, we made it possible to access the following fields for the Application object in the Graph API:

  • canvas_name
  • logo_url
  • icon_url
  • company
  • daily_active_users
  • weekly_active_users
  • monthly_active_users
https://graph.facebook.com/ANY_APP_ID

You’ll receive a JSON object containing the properties mentioned above as well as the others outlined in the documentation.

How apps are indexed in search

There has been some confusion in the past on what it takes for your app to show up in search. It’s now very simple. We have removed the “Submit to Search" link from the app settings page. Now, when your app reaches 10 monthly active users it will be queued to be indexed the next time we rebuild our index (we rebuild every 2-4 weeks). If you already have 10 monthly active users it will be added to the indexing queue immediately.

Reminder: Breaking Changes coming on Oct 1st

The following breaking changes are slated to go into effect on the 1st of October:

  1. OAuth 2.0 Migration

    All apps must migrate to OAuth 2.0 for authentication. The old SDKs, including the old JavaScript SDK (FeatureLoader.js) and old iOS SDK (facebook-iphone-sdk) will no longer work.

  2. Apps on Facebook authentication and security migration

    All Canvas and Page tab apps must convert to process signed_request (fb_sig will be removed) and obtain an SSL certificate for use in Secure Canvas URL and Secure Page Tab URL (unless you are in Sandbox mode).

  3. Auth 1.0 deprecation

    Auth.promotesession, auth.createtoken, auth.expiresession, auth.getsession will be removed on Oct 1st. Details on support for OAuth 2.0.

  4. manage_pages permission required to access user accounts (/me/accounts)

    We are modifying access to the FQL page_admin table and the graph.facebook.com/me/accounts endpoint. Previously, with basic permissions granted, an app could go to this endpoint or the FQL table to access the list of a users’ apps and Pages. We are going to require that apps have the manage_pages permission in order to obtain access to this information.

Docs

We have now finished updating all of the FQL table documentation. This week we updated the following docs:

  • stream_tag
  • notifications
  • unified_thread_count
  • unified_thread_action
  • photo
  • like
  • translation
  • unified_message
  • unified_thread
  • message
  • unified_thread_action
  • page
  • user

We have also now finished updating all of the Javascript SDK documentation. This week we updated the following docs:

All of the Dialog documentation is also now up to date. This week we updated the following dialog docs:

Additionally we updated the iOS SDK reference, the iOS tutorial, the Android SDK reference, and the Android tutorial.

Bugs

Last week we introduced a new bugs tool. In the past week in the new bugs tools there were:

  • 208 bugs reported
  • 27 bugs accepted
  • 5 bugs fixed

Although no new bugs can be filed in Bugzilla, we will continue working on closing out the remaining open bugs in Bugzilla. The total number of open bugs in Bugzilla is now 1,325 (down 145 from last week).

Facebook Stack Overflow activity

Activity on facebook.stackoverflow.com this week:

  • 507 questions asked
  • 135 answered, 27% answered rate
  • 256 replied, 50% reply rate

Related News

December 24 2013

December 19 2013

December 09 2013

December 09 2013

November 11 2013