SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
Facebook Developer APIs



Andrew Sorensen
University of Washington | Tacoma
API Types
Facebook presents its' APIs based on the type
of application you want to build:

● For Websites
● For Mobile
● Apps on Facebook



                          developers.facebook.com
Facebook for Websites
1. Enables sharing & collaboration of rich
   media (use opengraph tags!)
2. Social engagement (friends/community at
   large actions)
3. Authentication - users don't want another
   login (SSO).
4. Personalization (access user information)
Facebook for Mobile
1. Login & Requests
2. Sharing from other applications (From
   Facebook UI or via SDK)
3. Bookmarks to user installed on-device
   applications within Facebook
4. Payments

These can be developed via a native
application (w/ OS specific SDK) or via a web
application.
Apps on Facebook
● Embedded on Facebook website: existing
  webpage displayed within facebook chrome
  (iframe).
● Interaction with Facebook UI (like
  Notifications)
● Facebook analytics
Using the APIs
1. Use the provided widgets/dialogs (via
   javascript/iframe) with appropriate HTML
   markup (OpenGraph metadata properties).
2. Use an [un]offical SDK to Facebook's
   webservices.
3. Use the webservice (OpenGraph, REST)
   directly.
Offical SDKs
1.   JavaScript: (Rest, Graph API, Dialogs).
2.   PHP SDK
3.   iOS
4.   Android SDK
OAuth
● Sharing passwords with a service is over
● Request the permissions you need - users
  have to approve your application.
● Avoid implementing your own OAuth library
Why use an SDK?
1. Avoids dealing with webservice directly,
   decreasing tight technology coupling.
2. Avoid writing unit tests for the webservice
   (tests are frequently provided with SDKs).
3. API Updates are easier to deal with.
Writing your own SDK
● If you want to write your own classes to
  interact with the webservice, you'll need to
  support the Facebook Query Language
  (FQL).
● Stay away from the REST api, as it is
  depreciated.
● Both the REST and FQL APIs use the OAuth
  workflow.
● Make sure you really have the need to
  create your own SDK before doing it!
My Advice
1. Don't rely on facebook (or any 3rd party
   service) too heavily - they *will* have
   downtime.
2. Facebook is the next "Myspace"
3. Keep your secrets secret - don't share
   authentication tokens/secrets.
4. Make sure your SDK is frequently updated &
   make sure you stay on the newest version.
5. Handle all exceptions - they will be thrown.
Where to go from here
● Read the api documentation (developers.
  facebook.com)
● Check out existing SDKs for your language
  (like restfb for Java).
● Look at how other websites/apps integrate
  with Facebook.
Questions?
https://students.washington.edu/andrewx/

Weitere ähnliche Inhalte

Was ist angesagt?

แบบสำรวจและประวัติของ
แบบสำรวจและประวัติของแบบสำรวจและประวัติของ
แบบสำรวจและประวัติของ
Thanamon Bannarat
 
Office web applications when how why
Office web applications   when how whyOffice web applications   when how why
Office web applications when how why
pearce.alex
 
I os note kenlai-2014 mar
I os note kenlai-2014 marI os note kenlai-2014 mar
I os note kenlai-2014 mar
Ken Lai
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
sonichinmay
 

Was ist angesagt? (18)

Firefox OS App Development
Firefox OS App DevelopmentFirefox OS App Development
Firefox OS App Development
 
Developing Joomla Extensions JUG Bangladesh meetup dhaka-2012
Developing Joomla Extensions JUG  Bangladesh meetup dhaka-2012Developing Joomla Extensions JUG  Bangladesh meetup dhaka-2012
Developing Joomla Extensions JUG Bangladesh meetup dhaka-2012
 
What The Fuck Is Web Squared - Web²
What The Fuck Is Web Squared - Web²What The Fuck Is Web Squared - Web²
What The Fuck Is Web Squared - Web²
 
In 250 words or more, answer the following.as a developer we w
In 250 words or more, answer the following.as a developer we wIn 250 words or more, answer the following.as a developer we w
In 250 words or more, answer the following.as a developer we w
 
How to setup android development environment baabtra android workshop kit Upd...
How to setup android development environment baabtra android workshop kit Upd...How to setup android development environment baabtra android workshop kit Upd...
How to setup android development environment baabtra android workshop kit Upd...
 
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
 
YAP Overview - Startups
YAP Overview - StartupsYAP Overview - Startups
YAP Overview - Startups
 
แบบสำรวจและประวัติของ
แบบสำรวจและประวัติของแบบสำรวจและประวัติของ
แบบสำรวจและประวัติของ
 
PHP in a mobile ecosystem
PHP in a mobile ecosystem PHP in a mobile ecosystem
PHP in a mobile ecosystem
 
Widget Summit 2008 - Building Applications for the MySpace Audience
Widget Summit 2008 - Building Applications for the MySpace AudienceWidget Summit 2008 - Building Applications for the MySpace Audience
Widget Summit 2008 - Building Applications for the MySpace Audience
 
10. building forms
10. building forms10. building forms
10. building forms
 
Office web applications when how why
Office web applications   when how whyOffice web applications   when how why
Office web applications when how why
 
Office 365 - Introduction to SharePoint Online Development - Lync and Learn
Office 365 - Introduction to SharePoint Online Development - Lync and LearnOffice 365 - Introduction to SharePoint Online Development - Lync and Learn
Office 365 - Introduction to SharePoint Online Development - Lync and Learn
 
I os note kenlai-2014 mar
I os note kenlai-2014 marI os note kenlai-2014 mar
I os note kenlai-2014 mar
 
Game Development: A Crash Course
Game Development: A Crash CourseGame Development: A Crash Course
Game Development: A Crash Course
 
TrainmeSofttech - Selenium Training
TrainmeSofttech - Selenium Training TrainmeSofttech - Selenium Training
TrainmeSofttech - Selenium Training
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Vizwik part 1 views
Vizwik part 1 viewsVizwik part 1 views
Vizwik part 1 views
 

Andere mochten auch (8)

Presentation by Paul McCrudden
Presentation by Paul McCruddenPresentation by Paul McCrudden
Presentation by Paul McCrudden
 
"Inventing an Online Persona: How to Balance Authenticity and Your Online Bra...
"Inventing an Online Persona: How to Balance Authenticity and Your Online Bra..."Inventing an Online Persona: How to Balance Authenticity and Your Online Bra...
"Inventing an Online Persona: How to Balance Authenticity and Your Online Bra...
 
Presentation by Per Roman (GP Bullhound)
Presentation by Per Roman (GP Bullhound)Presentation by Per Roman (GP Bullhound)
Presentation by Per Roman (GP Bullhound)
 
Next11 k haskel
Next11 k haskelNext11 k haskel
Next11 k haskel
 
Java API für Social Media
Java API für Social MediaJava API für Social Media
Java API für Social Media
 
Introduction to facebook java script sdk
Introduction to facebook java script sdk Introduction to facebook java script sdk
Introduction to facebook java script sdk
 
Using the Power of the Archetypes to Create Hero Brands
Using the Power of the Archetypes to Create Hero BrandsUsing the Power of the Archetypes to Create Hero Brands
Using the Power of the Archetypes to Create Hero Brands
 
NEXT11 Sponsoring Opportunites
NEXT11 Sponsoring OpportunitesNEXT11 Sponsoring Opportunites
NEXT11 Sponsoring Opportunites
 

Ähnlich wie Facebook APIs

Facebook API
Facebook APIFacebook API
Facebook API
snipermkd
 
1.Plug-ins such as Flash is used in many applications because it e.pdf
1.Plug-ins such as Flash is used in many applications because it e.pdf1.Plug-ins such as Flash is used in many applications because it e.pdf
1.Plug-ins such as Flash is used in many applications because it e.pdf
angelfragranc
 

Ähnlich wie Facebook APIs (20)

Facebook Connect
Facebook ConnectFacebook Connect
Facebook Connect
 
Facebook API
Facebook APIFacebook API
Facebook API
 
OpenSocial
OpenSocialOpenSocial
OpenSocial
 
How to create a chat application on Android platform?
How to create a chat application on Android platform? How to create a chat application on Android platform?
How to create a chat application on Android platform?
 
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkharePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
 
Facebook Apps Vs Google Open Social
Facebook Apps Vs Google Open SocialFacebook Apps Vs Google Open Social
Facebook Apps Vs Google Open Social
 
Iskandar Najmuddin
Iskandar NajmuddinIskandar Najmuddin
Iskandar Najmuddin
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 
#Instagram API Get visibility you always wanted
#Instagram API   Get visibility you always wanted#Instagram API   Get visibility you always wanted
#Instagram API Get visibility you always wanted
 
Projects
ProjectsProjects
Projects
 
Presentation
PresentationPresentation
Presentation
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
Mobile testing android
Mobile testing   androidMobile testing   android
Mobile testing android
 
1.Plug-ins such as Flash is used in many applications because it e.pdf
1.Plug-ins such as Flash is used in many applications because it e.pdf1.Plug-ins such as Flash is used in many applications because it e.pdf
1.Plug-ins such as Flash is used in many applications because it e.pdf
 
instareplicate presetation.pptx
instareplicate presetation.pptxinstareplicate presetation.pptx
instareplicate presetation.pptx
 
Kt 15 07-2013
Kt 15 07-2013Kt 15 07-2013
Kt 15 07-2013
 
How to Build a Hybrid App: A Detailed Outline
How to Build a Hybrid App: A Detailed Outline How to Build a Hybrid App: A Detailed Outline
How to Build a Hybrid App: A Detailed Outline
 
Top Cross Platform Mobile App Development Frameworks
Top Cross Platform Mobile App Development FrameworksTop Cross Platform Mobile App Development Frameworks
Top Cross Platform Mobile App Development Frameworks
 
Share point 2013 add-in (formerly app) development
Share point 2013 add-in (formerly app) developmentShare point 2013 add-in (formerly app) development
Share point 2013 add-in (formerly app) development
 
Salesforce.com Lightning
Salesforce.com LightningSalesforce.com Lightning
Salesforce.com Lightning
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Facebook APIs

  • 1. Facebook Developer APIs Andrew Sorensen University of Washington | Tacoma
  • 2. API Types Facebook presents its' APIs based on the type of application you want to build: ● For Websites ● For Mobile ● Apps on Facebook developers.facebook.com
  • 3. Facebook for Websites 1. Enables sharing & collaboration of rich media (use opengraph tags!) 2. Social engagement (friends/community at large actions) 3. Authentication - users don't want another login (SSO). 4. Personalization (access user information)
  • 4. Facebook for Mobile 1. Login & Requests 2. Sharing from other applications (From Facebook UI or via SDK) 3. Bookmarks to user installed on-device applications within Facebook 4. Payments These can be developed via a native application (w/ OS specific SDK) or via a web application.
  • 5. Apps on Facebook ● Embedded on Facebook website: existing webpage displayed within facebook chrome (iframe). ● Interaction with Facebook UI (like Notifications) ● Facebook analytics
  • 6. Using the APIs 1. Use the provided widgets/dialogs (via javascript/iframe) with appropriate HTML markup (OpenGraph metadata properties). 2. Use an [un]offical SDK to Facebook's webservices. 3. Use the webservice (OpenGraph, REST) directly.
  • 7. Offical SDKs 1. JavaScript: (Rest, Graph API, Dialogs). 2. PHP SDK 3. iOS 4. Android SDK
  • 8. OAuth ● Sharing passwords with a service is over ● Request the permissions you need - users have to approve your application. ● Avoid implementing your own OAuth library
  • 9. Why use an SDK? 1. Avoids dealing with webservice directly, decreasing tight technology coupling. 2. Avoid writing unit tests for the webservice (tests are frequently provided with SDKs). 3. API Updates are easier to deal with.
  • 10. Writing your own SDK ● If you want to write your own classes to interact with the webservice, you'll need to support the Facebook Query Language (FQL). ● Stay away from the REST api, as it is depreciated. ● Both the REST and FQL APIs use the OAuth workflow. ● Make sure you really have the need to create your own SDK before doing it!
  • 11. My Advice 1. Don't rely on facebook (or any 3rd party service) too heavily - they *will* have downtime. 2. Facebook is the next "Myspace" 3. Keep your secrets secret - don't share authentication tokens/secrets. 4. Make sure your SDK is frequently updated & make sure you stay on the newest version. 5. Handle all exceptions - they will be thrown.
  • 12. Where to go from here ● Read the api documentation (developers. facebook.com) ● Check out existing SDKs for your language (like restfb for Java). ● Look at how other websites/apps integrate with Facebook.