Twitter

Follow leybzon on Twitter

Friday, April 23, 2010

Posting to FaceBook feed using Graph API

Graph API was announced at F8 with a promise to dramatically simplify the FB API.
I checked the read access over the new interface during the presentations and to my big surprise it worked flawlessly and from the first time.
When I tried https://graph.facebook.com/facebook, JSON-formatted info about the FaceBook page was returned (as expected).

Then I tried OAuth 2.0 way of accessing the API to post a message to the feed.
And to my even bigger surprise it worked too!

Here is what you need to do to access Graph API over OAuth:
1. Create a FB app, store app properties to a file:

  1. $appkey = '7925873fbfb5347e571744515a9d2804';
  2. $appsecret = 'THE SECRET';
  3. $canvas = 'http://apps.facebook.com/graphapi/';
2. Create a page that will prompt user the access permission (I am prompting for the publish_stream and offline_access permissions at the same time)

  1. //http://apps.facebook.com/graphapi/
  2. require 'settings.php';

  3. $url = "https://graph.facebook.com/oauth/authorize?";
  4. $url .= "client_id=$appid&";
  5. $url .= "redirect_uri=$canvas/callback.php&";
  6. $url .= "scope=publish_stream,offline_access";
  7. $url .= "&type=user_agent&display=popup";

  8. echo("$url");



3. Create a page to handle OAuth call-back with token and do the feed post:

  1. require 'settings.php';

  2. function
    callFb($url, $params) {
  3. $ch = curl_init();
  4. CURLOPT_URL => $url,
  5. CURLOPT_POSTFIELDS => http_build_query($params),
  6. CURLOPT_RETURNTRANSFER => true,
  7. CURLOPT_VERBOSE => true
  8. ));
  9. $result = curl_exec($ch);
  10. curl_close($ch);
  11. return $result;
  12. }

  13. $token = $_REQUEST['access_token'];

  14. $hello = "Hello from Graph API";
  15. $params=array('access_token'=>$token, 'message'=>$hello);
  16. $url = "https://graph.facebook.com/me/feed";
  17. callFb($url, $params);
P.S.


Important! Do not forget to select "new SDK" on the application settings page (I think that Facebook documentation fails to mention that)

Wednesday, April 21, 2010

“Default is social”, notes from the f8, FaceBook conference

Policy changes:

  • Single permissions dialog
  • Data retention policy changes


Platform changes:

1. Social Plug-ins (tested on this blog)

o a way to provide personalized experience with “Like” button in the core, work on any site
o works via iframe, single line of HTML code
o activity stream plug-in (newsfeed filtered for events only related to the site)
o recommendations plug-in, personalized recommendation experience for users about any product or service
o log-in plug-in that shows friends who are already there
o FB chat plug-in
o “Like” button in the center with hope to serve 1 Billion “likes” within 24 hrs after roll-out


2. Open Graph protocol

o Semantic markers (my understanding is that is another name for microformats)
o Design to represent any object on the web – books, celebrates, movies, etc
o Objects has the same properties as FB pages


3. Graph API

o Complete re-architecture of current platform/API/SDK
o No need for SDK code
o Graph.facebook.com/ID/connection_name – is a universal way to access/search for objects, people, or connections
o RealTime callbacks (WOW! Finally! App will be notified what users do/change/ when they do that)
o OAUTH (2.0) (like it!)