1. WHAT’S NEW ON THE FACEBOOK
PLATFORM, JANUARY 2012
Iskandar Najmuddin
18th January 2012
Facebook Developer Garage London
SYNCAPSE | New York | Toronto | London | Portland 1
All materials contained within this presentation are copyright Syncapse Corp. 2012.
2. HAPPY NEW YEAR!
SYNCAPSE | New York | Toronto | London | Portland 2
All materials contained within this presentation are copyright Syncapse Corp. 2012.
3. App Profile Pages going away
No more App Profile Pages as of Feb 1st 2012
• Search goes directly to App
• Transfer Likes to a Product/App Page with same name as App
• May take up to 7 days to migrate
• Content not transferred - you must do so manually!
• New Apps can optionally create a Profile Page via Developer App
• Graph API App object connections going away March 1st:
• albums, feed, links, etc
• New “Add Page Tab” Dialog
SYNCAPSE | New York | Toronto | London | Portland 3
All materials contained within this presentation are copyright Syncapse Corp. 2012.
4. Add Page Tab Dialog
Direct URL
https://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID
&display=popup&next=YOUR_URL
JS SDK
FB.ui({
method: 'pagetab',
redirect_uri: 'YOUR_URL'
});
But
Not clear how to pre-fill the Page selector
SYNCAPSE | New York | Toronto | London | Portland 4
All materials contained within this presentation are copyright Syncapse Corp. 2012.
5. New Subscribe Button Plugin
HTML5
<div class="fb-subscribe" data-href="https://www.facebook.com/calvinbroadus"
data-width="450"></div>
XFBML
<fb:subscribehref="https://www.facebook.com/calvinbroadus"
width="450"></fb:subscribe>
And there's also an iframeversion.
Layout styles
• standard, button_count, box_count
SYNCAPSE | New York | Toronto | London | Portland 5
All materials contained within this presentation are copyright Syncapse Corp. 2012.
6. SDK Support Shrinkage
Going private on April 1st and no longer officially supported:
• Python (https://github.com/facebook/python-sdk)
• C# (https://github.com/facebook/csharp-sdk)
• Facebook iPhone SDK
Community: start cloning now.
These SDKs race on with official support:
• JavaScript (moved to https://github.com/facebook/facebook-js-sdk)
• PHP (moved to https://github.com/facebook/facebook-php-sdk)
• iOS
• Android
SYNCAPSE | New York | Toronto | London | Portland 6
All materials contained within this presentation are copyright Syncapse Corp. 2012.
7. Graph API ETag Support
Graph API now uses ETags
• A part of standard RFC 2616 HTTP
1. Extract ETag from API Response
2. Use ETag in If-None-Match header
3. If ETag matches, server returns a 304 response
More responsive applications?
• Send less data across the wire in the best cases.
• Recommended usage is for data that won’t change that frequently
• Friend lists, albums, etc
• But note: All requests count towards throttling limit
• Including conditionalsrequests with If-None-Match
SYNCAPSE | New York | Toronto | London | Portland 7
All materials contained within this presentation are copyright Syncapse Corp. 2012.
8. Upload Video to Events
Only for Public Events
• POST https://graph-video.facebook.com/EVENT_ID/videos
• User Access Token required
• Use multipart/form-data
• Video as file attachment
• Params:
• title
• description
• file
• Returns a Video ID
The example works: https://developers.facebook.com/blog/post/608/
SYNCAPSE | New York | Toronto | London | Portland 8
All materials contained within this presentation are copyright Syncapse Corp. 2012.
9. Managing Apps via Graph API:
App Properties
Read Properties
• GET https://graph.facebook.com/APP_ID?fields=PROPERTY_NAME
• Use an App Access Token (some public fields don’t need an Access Token)
GET https://graph.facebook.com/175085329242673?fields=app_domains
Set Properties
• POST https://graph.facebook.com/APP_ID?PROPERTY_1=PROPERTY_VALUE
• Use an App Access Token
Check out the massive list of App property fields:
https://developers.facebook.com/docs/reference/api/application/#fields
Warning: Doesn’t work for icon_url or logo_url, though!
SYNCAPSE | New York | Toronto | London | Portland 9
All materials contained within this presentation are copyright Syncapse Corp. 2012.
10. Managing Apps via Graph API:
Developers and Roles
View Roles
• GET https://graph.facebook.com/APP_ID/roles
{"data": [{
• Use an App Access Token "app_id": “12334251",
"user": “86858454",
"role": “administrators"
Create Role }, etc ]}
• POST https://graph.facebook.com/APP_ID/roles
• Use an Admin User Access Token
• Paramuser: User ID
• Paramrole: administrators, developers, testers, or insights users
Delete Role
• DELETEhttps://graph.facebook.com/APP_ID/roles
• Use an Admin User Access Token
• Paramuser: User ID
SYNCAPSE | New York | Toronto | London | Portland 10
All materials contained within this presentation are copyright Syncapse Corp. 2012.
11. Other Bits
• Timeline released to all!
• Open Graph action approvals starting now
• REST API deprecated as of December 21st 2011
• New og:video:secure_url Open Graph metadata
• Required for video playback when users in HTTPS mode
• In-app currency offers now available
• Similar to Credits Offers, with Offerwall and Dealspot
• Games Updates
• Updated Category list
• Updated Games dashboard
• Can now use filters on the homeconnection
• Short URL Location redirects are now tracked
SYNCAPSE | New York | Toronto | London | Portland 11
All materials contained within this presentation are copyright Syncapse Corp. 2012.
12. IMPORTANT BREAKAGES
AND DATES
SYNCAPSE | New York | Toronto | London | Portland 12
All materials contained within this presentation are copyright Syncapse Corp. 2012.
13. Completed Changes
Or are they?
December 13th
• FB JS SDK oauthparam is now always true.
December 21st 2.14 You may not accept
Credits in one app and
• REST API officially deprecated deliver or transfer the
purchase to the user in
another app without our
January 1st prior authorization. For
example, an app solely
• FBML deprecated designed to facilitate
transactions is not
• FB.Data JS SDK APIs not supported permitted.
• FB.Canvas.setAutoResize =>setAutoGrow
• Credits Policy Change
January 15th
• All Apps now use “Requests 2.0” and “Requests 2.0 Efficient”
SYNCAPSE | New York | Toronto | London | Portland 13
All materials contained within this presentation are copyright Syncapse Corp. 2012.
14. Breaking Changes
February 1st
• canvas_name becomes namespace
• App Profile pages gone
March 1st
• 960px sneaking into src_big– up from 720px
• Graph API App object connections gone
April 1st
• URLs used with API dialogs and other calls MUST use a registered App domain.
• Action links, redirect_uri, etc
• Apps MUST have a User Support Email
• Deprecated SDK source code goes private
• Claim Domains for Insights only with App or User ID – not Page ID
June 1st
• FBML rendering ends forever. No tears will be shed.
SYNCAPSE | New York | Toronto | London | Portland 14
All materials contained within this presentation are copyright Syncapse Corp. 2012.
15. THIS IS
Please donate to the EFF and/or the Open Rights Group so they can fight retarded legislation like SOPA and PIPA!
Ask me about social media, technology, or electronic cigarettes:
• i.najmuddin@syncapse.com
• twitter.com/iskandar
• +44(0)207.096.0146
SYNCAPSE | New York | Toronto | London | Portland 15
All materials contained within this presentation are copyright Syncapse Corp. 2012.