190 likes | 329 Views
Teppo Räisänen Teppo.raisanen@oulu.fi Tietojenkäsittelytieteiden laitos, Oulun yliopisto. Facebook API. Tilanne. Facebook ohjelmistokehitysprosessi. Facebook applikaation tekemisen vaiheet: Hommaa Facebook tunnus Hommaa Web-hostaus palvelu Asenna Facebook Kehittäjä -applikaatio
E N D
Teppo Räisänen | Oulun yliopisto Teppo Räisänen Teppo.raisanen@oulu.fi Tietojenkäsittelytieteiden laitos, Oulun yliopisto Facebook API
Teppo Räisänen | Oulun yliopisto Tilanne
Teppo Räisänen | Oulun yliopisto Facebook ohjelmistokehitysprosessi • Facebook applikaation tekemisen vaiheet: • Hommaa Facebook tunnus • Hommaa Web-hostaus palvelu • Asenna Facebook Kehittäjä -applikaatio • Rekisteröi uusi applikaatio Kehittäjä-applikaation avulla • Ohjelmoi applikaatio • Julkaise applikaatio Facebook:ssa
Teppo Räisänen | Oulun yliopisto FBML ja FBJS • FBML vastaa HTML:ää • FBJS vastaa JavaScriptiä => API-kutsuille ei ole suoraa vastinetta
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; ?>
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ä
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
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
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
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
Teppo Räisänen | Oulun yliopisto API-kutsut PHP:ssa • PHP:ssa API-funktioita kutsutaan seuraavasti • Luodaan $facebook-olio Facebook luokasta • $facebook->api_client->KUTSUTTAVA_FUNKTIO();
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
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”;
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");
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 • http://wiki.developers.facebook.com/index.php/Extended_permissions • publish_stream, read_stream • email, read_mailbox • offline_access • create_event, rsvp_event • sms • status_update • photo_upload, video_upload • create_note • share_item
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: <fb:prompt-permission perms='status_update'> Anna lupa status updateen </fb:prompt-permission> Samalla kertaa voidaan kysyä monta lupaa: <fb:prompt-permission perms=’publish stream, status_update'> Anna lupa status updateen ja tapahtumien julkaisemiseen </fb:prompt-permission>
Teppo Räisänen | Oulun yliopisto FQL • Facebook Query Language – FQL • http://wiki.developers.facebook.com/index.php/FQL • Mahdollistaa SQL-komentojen suorittamisen Facebook tietokantoihin • $sql = “SELECT name, pic FROM user WHERE uid= 720633037”; • $results = $facebook->api_client->fql_query($sql); • Esimerkkejä: • http://wiki.developers.facebook.com/index.php/Sample_FQL_Queries
Teppo Räisänen | Oulun yliopisto Facebook Tools • Facebook Tools tarjoaa API-kutsujen ja FBML:n testaukseen konsolin • http://developers.facebook.com/tools.php
Teppo Räisänen | Oulun yliopisto Harjoituksia • Harjoitukset löytyvät sivulta: • www.students.oamk.fi/~teraisan/K1071TK/