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 - WMMRNStephan Hochdörfer
 
The Flash Facebook Cookbook - FlashMidlands
The Flash Facebook Cookbook - FlashMidlandsThe Flash Facebook Cookbook - FlashMidlands
The Flash Facebook Cookbook - FlashMidlandsJames Ford
 
Workshop : Facebook JavaScript SDK
Workshop : Facebook JavaScript SDKWorkshop : Facebook JavaScript SDK
Workshop : Facebook JavaScript SDKDimitar Danailov
 
Foundations of a Social Application Platform
Foundations of a Social Application PlatformFoundations of a Social Application Platform
Foundations of a Social Application PlatformJonathan LeBlanc
 
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 2016Codemotion
 
Facebook api
Facebook api Facebook api
Facebook api snipermkd
 
Facebook API
Facebook APIFacebook API
Facebook APIsnipermkd
 
Facebook Connect Integration
Facebook Connect IntegrationFacebook Connect Integration
Facebook Connect Integrationmujahidslideshare
 
The Face Behind Facebook
The Face Behind FacebookThe Face Behind Facebook
The Face Behind FacebookCory Bohon
 
Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)Colin Su
 
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 2011Iskandar Najmuddin
 
Social mediaprogramming part2-java-jax-london
Social mediaprogramming part2-java-jax-londonSocial mediaprogramming part2-java-jax-london
Social mediaprogramming part2-java-jax-londonKhanderao Kand
 
Cloud native programming model comparison
Cloud native programming model comparisonCloud native programming model comparison
Cloud native programming model comparisonEmily Jiang
 

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

Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 

Recently uploaded (20)

Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 

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