SlideShare a Scribd company logo
1 of 21
Facebook
API
Além de meros usuários!
Agenda
Facebook Developers
Facebook API
Login/Logout
Graph API
Dialogs
Métodos Úteis
Outros Recursos
FQL
Facebook 3.0
Outros Tópicos
FD - Tipos de App
• Web Site1
• Mobile2
• Aplicativos no Facebook3
1
3
2
FD - Arquitetura
• Aplicação Server-Side
• Aplicação Client
App ID
FD – Criando uma App
API – Configurando SSO
 Debug Log Data Setup
 Using the Keytool
API – Criando SDK e referenciando
API - com.facebook.android.Facebook
private Facebook facebook;
private String appId = "401023869969260";
API – Login/Logout
 authorize(Activity activity, Facebook.DialogListener listener)
 authorize(Activity activity, String permissions, Facebook.DialogListener
listener)
 authorize(Activity activity, String permissions, int activityCode,
Facebook.DialogListener listener)
API – Login/Logout
private String[] PERMISSIONS = {"read_friendlists", "publish_stream"};
facebook.authorize(this, PERMISSIONS, new DialogListener() {
@Override
public void onComplete(Bundle values) {}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
API – Login/Logout
logout(Context context, AsyncFacebookRunner.RequestListener
listener)
AsyncFacebookRunner asyncRunner = new
AsyncFacebookRunner(facebook);
asyncRunner.logout(this, listener);
Graph API - Request
request(String graphPath, Bundle parameters,
AsyncFacebookRunner.RequestListener listener)
Bundle params = new Bundle();
params.putString("fields", "name");
AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(facebook);
asyncRunner.request("me/friends", params, new AsyncFacebookRunner.RequestListener() {
@Override
public void onMalformedURLException(MalformedURLException e, Object state) {}
@Override
public void onIOException(IOException e, Object state) {}
@Override
public void onFileNotFoundException(FileNotFoundException e, Object state) {}
@Override
public void onFacebookError(FacebookError e, Object state) {}
@Override
public void onComplete(String response, Object state) {}
});
Graph API - Request
request(String graphPath, Bundle parameters,
AsyncFacebookRunner.RequestListener listener)
// get information about the currently logged in user
asyncRunner.request("me", new meRequestListener());
// get the posts made by the "platform" page
asyncRunner.request("platform/posts", new pageRequestListener());
// get the logged-in user's friends
asyncRunner.request("me/friends", new friendsRequestListener());
API - Dialog
dialog(Context context, String action, Bundle parameters,
Facebook.DialogListener listener)
Bundle params = new Bundle();
params.putString("to", String.valueOf(userId));
facebook.dialog(context, "feed", params, dialogListener);
API – Métodos Úteis
isSessionValid()
authorizeCallback(int requestCode, int resultCode, Intent data)
extendAccessToken(Context context, Facebook.ServiceListener
serviceListener)
extendAccessTokenIfNeeded(Context context,
Facebook.ServiceListener serviceListener)
Outros Recursos - Graph API
Message (Others Users, Threads)
Album
Event
Facebook Page
Questions
Paginação
Realtime Updates
https://developers.facebook.com/docs/reference/api/
FQL – Facebook Query Language
String query = "SELECT name FROM user WHERE uid = me()";
Bundle params = new Bundle();
params.putString("method", "fql.query");
params.putString("query", query);
AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(facebook);
asyncRunner.request(params, listener);
Result: [{"name":“Aécio Costa"}]
FQL – Facebook Query Language
Multi-Query
"query1":"SELECT uid, rsvp_status FROM event_member
WHERE eid=12345678"
"query2":"SELECT name, url, pic FROM profile
WHERE id IN (SELECT uid FROM #query1)"
http://developers.facebook.com/docs/reference/fql/
Facebook 3.0
Simplified user session management
Ready-to-Use native UI views
Better Facebook APIs support
Facebook 3.0
Outros Tópicos
Internacionalização
Facebook Chat API
Facebook Payments

More Related Content

Similar to Facebook api além de meros usuários

Facebook Apps: Ein Entwicklungsleitfaden - WMMRN
Facebook Apps: Ein Entwicklungsleitfaden - WMMRNFacebook Apps: Ein Entwicklungsleitfaden - WMMRN
Facebook Apps: Ein Entwicklungsleitfaden - WMMRN
Stephan Hochdörfer
 
The Flash Facebook Cookbook - FlashMidlands
The Flash Facebook Cookbook - FlashMidlandsThe Flash Facebook Cookbook - FlashMidlands
The Flash Facebook Cookbook - FlashMidlands
James Ford
 
Facebook API
Facebook APIFacebook API
Facebook API
snipermkd
 
Social mediaprogramming part2-java-jax-london
Social mediaprogramming part2-java-jax-londonSocial mediaprogramming part2-java-jax-london
Social mediaprogramming part2-java-jax-london
Khanderao Kand
 

Similar to Facebook api além de meros usuários (20)

Facebook Apps: Ein Entwicklungsleitfaden - WMMRN
Facebook Apps: Ein Entwicklungsleitfaden - WMMRNFacebook Apps: Ein Entwicklungsleitfaden - WMMRN
Facebook Apps: Ein Entwicklungsleitfaden - WMMRN
 
The Flash Facebook Cookbook - FlashMidlands
The Flash Facebook Cookbook - FlashMidlandsThe Flash Facebook Cookbook - FlashMidlands
The Flash Facebook Cookbook - FlashMidlands
 
Workshop : Facebook JavaScript SDK
Workshop : Facebook JavaScript SDKWorkshop : Facebook JavaScript SDK
Workshop : Facebook JavaScript SDK
 
Hi5 Open Social
Hi5   Open SocialHi5   Open Social
Hi5 Open Social
 
Foundations of a Social Application Platform
Foundations of a Social Application PlatformFoundations of a Social Application Platform
Foundations of a Social Application Platform
 
Graph api
Graph apiGraph api
Graph api
 
How To Structure Go Applications - Paul Bellamy - Codemotion Milan 2016
How To Structure Go Applications - Paul Bellamy - Codemotion Milan 2016How To Structure Go Applications - Paul Bellamy - Codemotion Milan 2016
How To Structure Go Applications - Paul Bellamy - Codemotion Milan 2016
 
Facebook api
Facebook api Facebook api
Facebook api
 
Facebook API
Facebook APIFacebook API
Facebook API
 
Facebook Connect Integration
Facebook Connect IntegrationFacebook Connect Integration
Facebook Connect Integration
 
The Face Behind Facebook
The Face Behind FacebookThe Face Behind Facebook
The Face Behind Facebook
 
Facebook Connect
Facebook ConnectFacebook Connect
Facebook Connect
 
Developing Facebook Application
Developing Facebook ApplicationDeveloping Facebook Application
Developing Facebook Application
 
Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)
 
Facebook API for iOS
Facebook API for iOSFacebook API for iOS
Facebook API for iOS
 
Facebook api for iOS
Facebook api for iOSFacebook api for iOS
Facebook api for iOS
 
What's New on the Facebook Platform, July 2011
What's New on the Facebook Platform, July 2011What's New on the Facebook Platform, July 2011
What's New on the Facebook Platform, July 2011
 
Facebook Platform
Facebook PlatformFacebook Platform
Facebook Platform
 
Social mediaprogramming part2-java-jax-london
Social mediaprogramming part2-java-jax-londonSocial mediaprogramming part2-java-jax-london
Social mediaprogramming part2-java-jax-london
 
Cloud native programming model comparison
Cloud native programming model comparisonCloud native programming model comparison
Cloud native programming model comparison
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 

Facebook api além de meros usuários

  • 2. Agenda Facebook Developers Facebook API Login/Logout Graph API Dialogs Métodos Úteis Outros Recursos FQL Facebook 3.0 Outros Tópicos
  • 3. FD - Tipos de App • Web Site1 • Mobile2 • Aplicativos no Facebook3 1 3 2
  • 4. FD - Arquitetura • Aplicação Server-Side • Aplicação Client App ID
  • 5. FD – Criando uma App
  • 6. API – Configurando SSO  Debug Log Data Setup  Using the Keytool
  • 7. API – Criando SDK e referenciando
  • 8. API - com.facebook.android.Facebook private Facebook facebook; private String appId = "401023869969260";
  • 9. API – Login/Logout  authorize(Activity activity, Facebook.DialogListener listener)  authorize(Activity activity, String permissions, Facebook.DialogListener listener)  authorize(Activity activity, String permissions, int activityCode, Facebook.DialogListener listener)
  • 10. API – Login/Logout private String[] PERMISSIONS = {"read_friendlists", "publish_stream"}; facebook.authorize(this, PERMISSIONS, new DialogListener() { @Override public void onComplete(Bundle values) {} @Override public void onFacebookError(FacebookError error) {} @Override public void onError(DialogError e) {} @Override public void onCancel() {} });
  • 11. API – Login/Logout logout(Context context, AsyncFacebookRunner.RequestListener listener) AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(facebook); asyncRunner.logout(this, listener);
  • 12. Graph API - Request request(String graphPath, Bundle parameters, AsyncFacebookRunner.RequestListener listener) Bundle params = new Bundle(); params.putString("fields", "name"); AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(facebook); asyncRunner.request("me/friends", params, new AsyncFacebookRunner.RequestListener() { @Override public void onMalformedURLException(MalformedURLException e, Object state) {} @Override public void onIOException(IOException e, Object state) {} @Override public void onFileNotFoundException(FileNotFoundException e, Object state) {} @Override public void onFacebookError(FacebookError e, Object state) {} @Override public void onComplete(String response, Object state) {} });
  • 13. Graph API - Request request(String graphPath, Bundle parameters, AsyncFacebookRunner.RequestListener listener) // get information about the currently logged in user asyncRunner.request("me", new meRequestListener()); // get the posts made by the "platform" page asyncRunner.request("platform/posts", new pageRequestListener()); // get the logged-in user's friends asyncRunner.request("me/friends", new friendsRequestListener());
  • 14. API - Dialog dialog(Context context, String action, Bundle parameters, Facebook.DialogListener listener) Bundle params = new Bundle(); params.putString("to", String.valueOf(userId)); facebook.dialog(context, "feed", params, dialogListener);
  • 15. API – Métodos Úteis isSessionValid() authorizeCallback(int requestCode, int resultCode, Intent data) extendAccessToken(Context context, Facebook.ServiceListener serviceListener) extendAccessTokenIfNeeded(Context context, Facebook.ServiceListener serviceListener)
  • 16. Outros Recursos - Graph API Message (Others Users, Threads) Album Event Facebook Page Questions Paginação Realtime Updates https://developers.facebook.com/docs/reference/api/
  • 17. FQL – Facebook Query Language String query = "SELECT name FROM user WHERE uid = me()"; Bundle params = new Bundle(); params.putString("method", "fql.query"); params.putString("query", query); AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(facebook); asyncRunner.request(params, listener); Result: [{"name":“Aécio Costa"}]
  • 18. FQL – Facebook Query Language Multi-Query "query1":"SELECT uid, rsvp_status FROM event_member WHERE eid=12345678" "query2":"SELECT name, url, pic FROM profile WHERE id IN (SELECT uid FROM #query1)" http://developers.facebook.com/docs/reference/fql/
  • 19. Facebook 3.0 Simplified user session management Ready-to-Use native UI views Better Facebook APIs support