OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto Facebook API Teppo Räisänen Tietojenkäsittelytieteiden laitos, Oulun yliopisto
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto Tilanne TuntiSisältö 1. ja 2. tunti Aloitus, Facebook Facebook ohjelmoinnin perusteet 3. tuntiFBML 4. ja 5. tunti API-kutsut 6. tuntiFBJS 7. Ja 8. tunti Harjoitustyö 9. tuntiHarjoitustöiden viimeistely, esitys, palaute
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto Facebook ohjelmistokehitysprosessi Facebook applikaation tekemisen vaiheet: 1.Hommaa Facebook tunnus 2.Hommaa Web-hostaus palvelu 3.Asenna Facebook Kehittäjä -applikaatio 4.Rekisteröi uusi applikaatio Kehittäjä-applikaation avulla 5.Ohjelmoi applikaatio 6.Julkaise applikaatio Facebook:ssa
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto FBML ja FBJS FBML vastaa HTML:ää FBJS vastaa JavaScriptiä => API-kutsuille ei ole suoraa vastinetta
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto API -kutsut <?php require_once ”facebook.php”; $apikey = ”asdflgasdflkhasdfgasdlfg”; $secret = ”asdf8970adsf70as78asdf”; $facebook= new Facebook($apikey, $secret); $user=$facebook->require_login(); print $user; ?>
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto API API-kutsut mahdollistavat applikaatioille Facebook ominaisuuksien käytön “Hae käyttäjän kaverit” “Hae/aseta käyttäjän status” “Julkaise dataa käyttäjän profiiliin” “Lähetä tekstiviesti käyttäjälle” “Tehdä SQL-hakuja Facebook tietokantaan” Ei ole pakollista Facebook ohjelmissa Mahdollistaa monipuolisemmat applikaatiot Voi jättää käyttämättä harjoitustyössä
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto API wiki.developers.facebook.com/index.php/API API on jaettu osioihin: Hallinnolliset kutsut Login/Autentikaatio kutsut Tiedonhaku kutsut Julkaisu kutsut Facebook Connect kutsut Mobiili kutsut Valokuva API kutsut Tapahtuma API kutsut Kustomoitujen tagien API kutsut
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto API Hallinnolliset kutsut Käytetään applikaation ja käyttäjien tietojen käsittelyyn Esimerkiksi admin.banUsers admin.getMetrics Login/Autentikaatio kutsut Käytetään sessioiden varmennukseen Yleensä näitä ei tarvitse itse kutsua Esimerkiksi auth.expireSession
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto API Tiedonhaku kutsut Käytetään kaikenlaisen tieton hakemiseen Eniten käytetty API:n osa Esimerkiksi friends.get, status.get users.getInfo Julkaisu kutsut Käytetään tiedon julkaisemiseen etusivulla/profiileissa Hyödyksi applikaation “mainostamisessa” Esimerkiksi stream.publish status.set
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto API Facebook Connect kutsut Facebook Connect ominaisuuksien käsittely Mobiili kutsut Tekstiviestien lähetys Valokuva API kutsut Valokuvien ja valokuva-albumien käsittely photos.get Tapahtuma API kutsut Facebookin tapahtumien (events) käsittely events.get Kustomoitujen tagien API kutsut Käyttäjien tekemien tagien käsittely
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto API-kutsut PHP:ssa PHP:ssa API-funktioita kutsutaan seuraavasti 1.Luodaan $facebook-olio Facebook luokasta 2.$facebook->api_client->KUTSUTTAVA_FUNKTIO();
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto API-kutsut PHP:ssa $facebook = new Facebook($apikey, $secret); $facebook->api_client-> users_getInfo($user, “first_name”); Huomaa, että users.getInfo muuttuu PHP- kutsussa muotoon: users_getInfo Yleensä API-kutsut palauttavat taulukon
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto API-kutsut PHP:ssa $user_details = $facebook->api_client-> users_getInfo($user, 'last_name, first_name’); $etunimi=$user_details[0]['first_name']; $sukunimi=$user_details[0]['last_name']; print “Nimesi on $etunimi $sukunimi”;
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto PHP esimerkkejä Hae kaikki $user:in kaverit: $friends= $facebook->api_client->friends_get($user); Hae kaikki $userin valokuvat: $photos = $facebook->api_client->photos_get($user,'',''); Aseta status: $facebook->api_client->users_setStatus("facebook koodausta");
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto API-kutsut PHP:ssa Osa API-kutsuista vaatii käyttäjän lupaa Esimerkiksi status update Yleensä tietojen hakeminen ei vaadi lupaa xtended_permissions xtended_permissions publish_stream, read_stream , read_mailbox offline_access create_event, rsvp_event sms status_update photo_upload, video_upload create_note share_item
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto API-kutsut PHP:ssa Lupa tarkistetaan users.hasAppPermission kutsulla: $facebook->api_client- >users_hasAppPermission('status_update'); Palauttaa 1, jos on lupa status julkaisuun. 0 jos ei Lupaa voidaan kysyä fb:prompt-permission FBML tagilla: Anna lupa status updateen Samalla kertaa voidaan kysyä monta lupaa: Anna lupa status updateen ja tapahtumien julkaisemiseen
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto FQL Facebook Query Language – FQL Mahdollistaa SQL-komentojen suorittamisen Facebook tietokantoihin $sql = “SELECT name, pic FROM user WHERE uid= ”; $results = $facebook->api_client->fql_query($sql); Esimerkkejä: _FQL_Queries
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto Facebook Tools Facebook Tools tarjoaa API-kutsujen ja FBML:n testaukseen konsolin
OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulun yliopisto Harjoituksia Harjoitukset löytyvät sivulta: