Your SlideShare is downloading. ×
0
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Facebook für PHP Entwickler - phpugffm
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Facebook für PHP Entwickler - phpugffm

3,539

Published on

Published in: Technology
3 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,539
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
3
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Facebook für (PHP) Entwickler
  • 2. Facebook für (PHP) Entwickler Über mich  Stephan Hochdörfer, bitExpert AG  Department Manager Research Labs  S.Hochdoerfer@bitExpert.de  @shochdoerfer  http://www.facebook.com/shochdoerfer
  • 3. Facebook für (PHP) Entwickler Facebook Fakten  Mehr als 800 Millionen aktive User  Mehr als 900 Millionen Objekte (Pages, Gruppen, Events,...)  ~20 Millionen Apps werden pro Tag installiert  Pro Monat nutzen mehr als 500 Millionen User FB Apps  ~350 Millionen User mit mobilen Clients Quelle: https://www.facebook.com/press/info.php?statistics
  • 4. Facebook für (PHP) Entwickler Was kann der Entwickler nutzen?
  • 5. Facebook für (PHP) Entwickler Social Plugins
  • 6. Facebook für (PHP) Entwickler Facebook Social Plugins – Like Button <div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/de_DE/all.js#xfbml=1&appId=0815"; fjs.parentNode.insertBefore(js, fjs); }(document, script, facebook-jssdk));</script> <div class="fb-like" data-href="http://www.phpugffm.de" data- send="false" data-width="450" data-show-faces="true"></div>
  • 7. Facebook für (PHP) Entwickler Mobile Applikationen
  • 8. Facebook für (PHP) Entwickler Facebook Applikationen
  • 9. Facebook Apps: Entwicklungsleitfaden Canvas Applikation
  • 10. Facebook Apps: Entwicklungsleitfaden Seitenreiter Applikation
  • 11. Facebook für (PHP) Entwickler Die erste Facebook Applikation Wie geht es los?
  • 12. Facebook für (PHP) Entwickler http://developers.facebook.com
  • 13. Facebook für (PHP) Entwickler http://developers.facebook.com/apps
  • 14. Facebook für (PHP) Entwickler
  • 15. Facebook für (PHP) Entwickler
  • 16. Facebook für (PHP) Entwickler
  • 17. Facebook für (PHP) Entwickler Facebook PHP SDK https://github.com/facebook/php-sdk
  • 18. Facebook für (PHP) Entwickler Facebook PHP SDK <?php require ../lib/facebook/facebook.php; $facebook = new Facebook(array( appId => YOUR_APP_ID, secret => YOUR_APP_SECRET, )); // Get User ID $user = $facebook->getUser();
  • 19. Facebook für (PHP) Entwickler Facebook PHP SDK Kein PSR-0? WTF?
  • 20. Facebook für (PHP) Entwickler Facebook PHP SDK – PSR-0 work-a-round <?php require_once(__DIR__./facebook.php); /** * Facebook client, PSR-0 style */ class Facebook_Client extends Facebook { }
  • 21. Facebook für (PHP) Entwickler Facebook PHP SDK – PSR-0 work-a-round <?php $facebook = new Facebook_Client(array( appId => YOUR_APP_ID, secret => YOUR_APP_SECRET, )); // Get User ID $user = $facebook->getUser();
  • 22. Facebook für (PHP) Entwickler Die erste Facebook App <!DOCTYPE html> <html> <body> <div id="fb-root"></div> <script type="text/javascript"> window.fbAsyncInit = function() { FB.init({ appId: YOUR_APP_ID, status: true, cookie: true, xfbml: true, oauth: true }); }; (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/de_DE/all.js#xfbml=1&appId=YOUR_APP_ID"; fjs.parentNode.insertBefore(js, fjs); }(document, script, facebook-jssdk)); </script> <div class="wrapper"></div> </body> </html>
  • 23. Facebook für (PHP) Entwickler Die erste Facebook App <!DOCTYPE html> <html> <body> <div id="fb-root"></div> <script type="text/javascript"> window.fbAsyncInit = function() { FB.init({ appId: YOUR_APP_ID, status: true, cookie: true, xfbml: true, oauth: true }); }; (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/de_DE/all.js#xfbml=1&appId=YOUR_APP_ID"; fjs.parentNode.insertBefore(js, fjs); }(document, script, facebook-jssdk)); </script> <div class="wrapper"></div> </body> </html>
  • 24. Facebook für (PHP) Entwickler Die erste Facebook App <!DOCTYPE html> <html> <body> <div id="fb-root"></div> <script type="text/javascript"> window.fbAsyncInit = function() { FB.init({ appId: YOUR_APP_ID, status: true, cookie: true, xfbml: true, oauth: true }); }; (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/de_DE/all.js#xfbml=1&appId=YOUR_APP_ID"; fjs.parentNode.insertBefore(js, fjs); }(document, script, facebook-jssdk)); </script> <div class="wrapper"></div> </body> </html>
  • 25. Facebook für (PHP) Entwickler Die erste Facebook App <!DOCTYPE html> <html> <body> <div id="fb-root"></div> <script type="text/javascript"> window.fbAsyncInit = function() { FB.init({ appId: YOUR_APP_ID, status: true, cookie: true, xfbml: true, oauth: true }); }; (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/de_DE/all.js#xfbml=1&appId=YOUR_APP_ID"; fjs.parentNode.insertBefore(js, fjs); }(document, script, facebook-jssdk)); </script> <div class="wrapper"></div> </body> </html>
  • 26. Facebook für (PHP) Entwickler Die erste Facebook App Wie kommt die App auf die Fanpage?
  • 27. Facebook für (PHP) Entwickler Die erste Facebook App – Fanpage Integrationhttps://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID&next=YOUR_URL
  • 28. Facebook für (PHP) Entwickler Die erste Facebook App – Fanpage Integration
  • 29. Facebook Apps: Entwicklungsleitfaden Fertig :)
  • 30. Facebook für (PHP) Entwickler Request Flow HTTP Post Request + signed_request User / Facebook Applikations- Browser Fanpage server
  • 31. Facebook für (PHP) Entwickler Request Flow - signed_request  sicherer Datenaustausch zw. Facebook und der eigenen App  Konkatenation HMAC SHA-256 Signatur, einem Punkt (.) und einem base64 kodierten JSON Objekt  Zum Dekodieren wird das App Secret benötigt!  Enthält Informationen zum User, Fanpage und Deeplink Parameter
  • 32. Facebook für (PHP) Entwickler Wer ist der User?
  • 33. Facebook für (PHP) Entwickler Login / Authentifzierung FB.getLoginStatus(function(response) { if (response.authResponse) { // User eingeloggt } else { // Versuchen den User einzuloggen FB.login(function(response) { if(response.authResponse) { if(response.perms) { // ist eingeloggt.... } } }, { perms: publish_stream, offline_access }); } });
  • 34. Facebook für (PHP) Entwickler Login / Authentifzierung – Signed Request Neuer signed_request nach dem Login!
  • 35. Facebook für (PHP) Entwickler Login / Authentifzierung – User Perms user_about_me, user_activities, user_birthday, user_checkins, user_education_history, user_events, user_groups, user_hometown, user_interests, user_likes, user_location, user_notes, user_online_presence, user_photo_video_tags, user_photos, user_questions, user_relationships, user_relationships_details, user_religion_politics, user_status, user_videos, user_website, user_work_history, email
  • 36. Facebook für (PHP) Entwickler Login / Authentifzierung – Extended Perms read_friendlists, read_insights, read_mailbox, read_requests, read_stream, xmpp_login, ads_management, create_event, manage_friendlists, manage_notifications, offline_access, publish_checkins, publish_stream, rsvp_event, sms, publish_actions, manage_pages
  • 37. Facebook für (PHP) Entwickler The Graph API presents a simple, consistent view of the Facebook socialgraph, uniformly representing objects inthe graph and the connections between them.
  • 38. Facebook für (PHP) Entwickler Graph API – Wer bin ich? https://graph.facebook.com/me? access_token=
  • 39. Facebook für (PHP) Entwickler Graph API – Wer sind meine Freunde?https://graph.facebook.com/me/friends? access_token=
  • 40. Facebook für (PHP) Entwickler Graph API – Was mag ich? https://graph.facebook.com/me/likes? access_token=
  • 41. Facebook für (PHP) Entwickler Graph API (JS Style) FB.api(/me, function(response) { alert(response.name); });
  • 42. Facebook für (PHP) Entwickler Graph API (JS Style) var msg = Hello phpugffm!; FB.api(/me/feed, post, { message: msg }, function(response) { if (!response || response.error) { alert(Error occured); } else { alert(Post ID: + response.id); } });
  • 43. Facebook für (PHP) Entwickler Graph API (PHP Style) <?php $post = array( message => Hello phpugffm!, ); $facebook->api(/me/feed, post, $post);
  • 44. Facebook für (PHP) Entwickler FQL enables you to use a SQL-style interface to query the data exposed by the Graph API.
  • 45. Facebook für (PHP) Entwickler FQL Tabellenalbum, application, apprequest, checkin, comment,comments_info, connection, cookies, developer, domain,domain_admin, event, event_member, family, friend,friend_request, friendlist, friendlist_member, group,group_member, insights, like, link, link_stat, mailbox_folder,message, note, notification, object_url, page, page_admin,page_blocked_user, page_fan, permissions,permissions_info, photo, photo_tag, place, privacy,privacy_setting, profile, question, question_option,question_option_votes, review, standard_friend_info,standard_user_info, status, stream, stream_filter,stream_tag, thread, translation, unified_thread,unified_thread_action, user, ...
  • 46. Facebook für (PHP) Entwickler FQL (JS Style) FB.api({ method: fql.query, query: select first_name,last_name,email from user where uid = me() }, function(response) { console.log(response); });
  • 47. Facebook Apps: Entwicklungsleitfaden FQL (JS Style) - Subselect FB.api({ method: fql.query, query: select first_name,last_name,email from user where uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) }, function(response) { console.log(response); });
  • 48. Facebook für (PHP) Entwickler Wallpost (JS Style) var pageId = 12345678; var post = { message: , name: Der Name des Links, caption: Die Beschreibung, link: http://www.facebook.com/+pageId, attribution: Meine App }; FB.api(/+pageId+/feed, post, post);
  • 49. Facebook für (PHP) Entwickler Wallpost (PHP Style) <?php $pageId = 12345678; $post = array( message => , name => Der Name des Links, caption => Die Beschreibung, link => http://www.facebook.com/.$pageId, attribution => Meine App ); $facebook->api(/.$pageId./feed, post, $post);
  • 50. Vielen Dank!

×