Back to News for Developers

Platform Updates: Operation Developer Love

January 20, 2012ByRalf Herbrich

This week, we launched the improved auth dialog and over 60 new Open Graph apps.

Approving Open Graph Actions

We are now approving Open Graph Actions. If you are new to the Open Graph, please review the Tutorial on how to use the Open Graph to integrate your app with Facebook. Please review and check your Actions against the required criteria prior to submission.

Writing Questions via Graph API

We recently announced the ability to read questions via the Graph API. We are now adding the option to write them. To create a question for the current user, issue an HTTP POST to the questions connection like this:

  curl -F 'access_token=...' \
       -F 'question=What is your favorite color?' \
       https://graph.facebook.com/me/questions

Here's a PHP example that shows the optional parameters: options and allow_new_options -- and how to post a question as a Page using its access token:

<?php
  $question = 'What are you doing this weekend?';
  $options = json_encode(array('Hiking','Watching a movie','Hacking'));

  $page_id = 'YOUR_PAGE_ID';
  $app_id = 'YOUR_APP_ID';
  $app_secret = 'YOUR_APP_SECRET';
  $my_url = 'YOUR_URL';

  $code = $_REQUEST["code"];

  echo '<html><body>';

  if (!$code) {
    // manage_pages permissions is required for accounts the user
    // has access to, and posting to the Page
    $dialog_url = "http://www.facebook.com/dialog/oauth?client_id="
     . $app_id . "&amp;redirect_uri=" . urlencode($my_url)
     . "&amp;scope=manage_pages";
    echo('<script>top.location.href="' . $dialog_url . '";</script>');
  } else {
    $token_url = "https://graph.facebook.com/oauth/access_token?client_id="
     . $app_id . "&amp;redirect_uri=" . urlencode($my_url)
     . "&amp;client_secret=" . $app_secret
     . "&amp;code=" . $code;
    $access_token = file_get_contents($token_url);
    $accounts_url = 
         "https://graph.facebook.com/me/accounts?" . $access_token;
    $response = file_get_contents($accounts_url);

    // Parse the return value and get the array of accounts - this is
    // returned in the data[] array.
    $resp_obj = json_decode($response,true);
    $accounts = $resp_obj['data'];

    // Find the access token for the Page
    $page_access_token = '';
    foreach($accounts as $account) {
         if($account['id'] == $page_id) {
           $page_access_token = 'access_token=' . $account['access_token'];
           break;
         }
    }

    // Post the question to the Page
    $post_question_url = 
        "https://graph.facebook.com/" . $page_id . '/questions' .
    "?question=" . urlencode($question) .
    '&amp;options=' . urlencode($options) .
    '&amp;allow_new_options=false' .
    "&amp;method=post&amp;" . $page_access_token;

    echo file_get_contents ($post_question_url);
  }
  echo '</body></html>';
?>

Questions may be removed by issuing an HTTP DELETE to their id. More information is available in the Question documentation, User documentation, and Page documentation.

Subscribe to the Developer and HTML5 blog

We recently built an Email Settings dashboard that lets you easily manage your subscriptions to the Developer and HTML5 blog. To access your email settings, click on the arrow on the top right and select "Email Settings."

Improved Search typeahead on the Dev Site

We want to help you more quickly access the information you need on the Developer Site. The search typeahead now includes Bugs along with Apps and Documentation.

Policy Training Videos

We added two policy training videos to help new developers better understand our Platform Policies and Promotion Guidelines.

Upcoming Breaking Changes

  • Removing FeatureLoader JavaScript SDK. As part of the OAuth2 migration, we announced that the FeatureLoader SDK is no longer supported as of October 1st, 2011. On 2/1/2012, we will remove FeatureLoader. Please ensure that your app is using the JS SDK.
  • Removing canvas_name Field from Application Object We will be deprecating the canvas_name field in favor of namespace field on the application object on 2/1/2012.
  • Removing App Profile Pages We will be deleting all App Profile Pages and redirecting all traffic directly to the App on 2/1/2012. For more information, please refer to the blog post.
  • Removing REST support for Ads API We will be removing REST support for the Ads API. All Ads API developer must move their applications to use the Graph API.
  • Improved Auth Dialog On February 1, 2012, all apps will be enabled for the improved dialog, but those that haven’t fully configured their dialog can disable the setting in the Developer App until February 15, at which time it will be turned on for all apps.

Please refer to the Platform Roadmap for more info.

Bug Activity from 1/11/12 to 1/17/12

  • 310 bugs were reported
  • 32 bugs were reproducible and accepted (after duplicates removed)
  • 22 bugs were by design
  • 26 bugs were fixed
  • 115 bugs were duplicate, invalid, or need more information
  • Bugs fixed from 1/11/12 to 1/17/12

  • Like count doesn't migrate to new page after the migration
  • 503 error returned from Object Debugger
  • redirect loop in native iPhone application for mobile web (something went wrong)
  • The mobile web example application is FUBAR
  • Approved status for global reads incompletely deployed
  • Go To App link broken on new app pages for Connect apps
  • Can’t get the photo id when mail attachment is a photo
  • all.js not supporting oauth 2.0
  • Can't Create New Facebook Page on My Apps > Settings > Advanced > Contact Info
  • Typo in Core Concepts › Graph API › Permissions
  • keytool part of JDK, not ADK
  • New bug tracker doesn't email when FB employee responds
  • Cannot make test users friends
  • Send dialog returns a 500 error.
  • Javascript Error on Canvas load prevents app from loading in IE8
  • Calling FB.login to solicit certain perms seems to invalidate existing token when user hits cancel
  • News Feed stats are not being calculated for story type / ref param
  • JS Unload event not triggered on FB toaster click
  • like feature not working
  • Feature Request:L API to read App Namespace
  • Real Time Subscriptions does not support feed for pages, documentation states it should
  • Comment box style bug
  • Linter/Debugger ignores Open Graph Meta-Informations from App-Subpages
  • Groups should show which users are not verified
  • fbsr_ cookie specifies subdomain
  • Mixed content bug for IE on Comments
  • Facebook Stack Overflow Activity

    Activity on facebook.stackoverflow.com this week:

    • 244 questions asked
    • 87 answered, 36% answered rate
    • 165 replied, 68% reply rate

    Tags: