Angelo Iacubino, Roberto Marmo
Creare applicazioni per Facebook
Editore FAG, 2009
ISBN 978-88-8233-814-5
File di testo con i principali listati presi dal libro ed elencati nel file
http://www.robertomarmo.net/download/codici_creare_applicazioni_con_facebook.txt
Versione 28 agosto 2009
Capitolo 3 Paragrafo "Il canvas"
$azione = $_GET("ac");
.............
.............
switch($azione) {
case 1: echo "CIAO! AZIONE 1";
break;
case 2: echo "CIAO! AZIONE 2";
break;
case 3: ?>
break;
case 4: echo "DATI INVIATI CON SUCCESSO!";
break;
default: echo "";
}
Capitolo 3 Paragrafo "Creazione del primo file"
';
$appsecret = '';
$appcallbackurl = '';
// connessione alla piattaforma per recuperare i dati dell'utente
$facebook = new Facebook($appapikey, $appsecret);
$user = $facebook->require_login();
// gestione della eccezione per session_keys non valido
try {
// se l'applicazione non θ stata aggiunta allore tenta di farlo
if (!$facebook->api_client->users_isAppUser()) {
$facebook->redirect($facebook->get_add_url());
}
} catch (Exception $ex) {
// elimina i cookies e ridirige l'utente verso login
$facebook->set_user(null, null);
$facebook->redirect($appcallbackurl);
}
?>
Primo esempio di applicazione
User ID di utente is: $user
;
// variabile $user definita in appinclude.php per
// avere user_id di identificazione utente
echo
";
echo "Nella lista dei tuoi amici, il secondo è ";
echo " ";
echo "ed i suoi eventi sono i seguenti: ";
$eventi = $Facebook->api_client->events_get($secondoamico, null, null, null, null);
echo "
";
$i = 1;
if ($eventi) {
foreach ($eventi as $evento) {
if ($i == 3) $terzoevento = $evento['eid'];
echo "
{$evento['name']} - luogo {$evento['location']}
";
$i++;
}
$i--;
echo " ";
echo "Questo tuo amico ha ben " . $i . " eventi! ";
$ev1 = $Facebook->api_client->events_get(null, $terzoevento, null, null, null);
echo "In particolare, gli utenti che partecipano al terzo evento con id " . $terzoevento . " e nome {$ev1[0]['name']} sono:
";
if ($membri['attending'][0]) {
foreach ($membri['attending'] as $membro) {
echo "
";
}
} else {
echo "....non ce ne sono";
}
echo "
";
echo "
... in forse:
";
echo "
";
if ($membri['unsure'][0]) {
foreach ($membri['unsure'] as $membro) {
echo "
";
}
} else {
echo "....non ce ne sono";
}
echo "
";
echo "
Insicuri:
";
echo "
";
if ($membri['not_replied'][0]) {
foreach ($membri['not_replied'] as $membro) {
echo "
";
}
} else {
echo "....non ce ne sono";
}
echo "
";
} else {
echo "
non ci sono eventi per questo tuo amico
";
}
echo "
";
1234567812345679123450112345021234503
Capitolo 3 Paragrafo "Gestione dati dei gruppi"
Elaborazione dati sui gruppi di utente;
echo ;
echo
Elenco dei gruppi iscritti
;
$uid = null;
// $uid = xx; per avere i dati solo di utente con user_id xx
$gid = null;
$groups = $facebook->api_client->groups_get($uid,$gid);
echo
Output grezzo:
;
echo
;
print_r($groups);
echo
;
echo
Output leggibile:
;
echo
Gruppi attivi per :
;
echo
;
if($groups){
foreach ($groups as $group) {
echo
;
?>
Elaborazione dati sui gruppi;
echo ;
echo
Elenco degli iscritti al gruppo (grouped by type)
;
$gid = xxx; // da sostituire con il numero identificativo
$uid = null;
$members = $facebook->api_client->groups_getMembers($gid);
$groups = $facebook->api_client->groups_get($uid, $gid);
echo
Output grezzo:
;
echo
;
print_r($members);
echo
;
echo
Output leggibile:
;
echo
Membri di {$groups[0]['name']}
;
echo
Membri regolari:
;
echo
;
if ($members['members'][0]) {
foreach ($members['members'] as $member){
echo
;
}
} else {
echo
nessun membro!
;
}
echo
;
echo
Amministratori:
;
echo
;
if ($members['admins'][0]) {
foreach ($members['admins'] as $member) {
echo
;
}
} else {
echo
Nessun amministratore!
;
}
echo
;
echo
Ufficiali:
;
echo
;
if ($members['officers'][0]) {
foreach ($members['officers'] as $member){
echo
;
}
} else {
echo
Nessun ufficiale
;
}
echo
;
echo
Ancora senza risposta:
;
echo
;
if ($members['not_replied'][0]){
foreach ($members['not_replied'] as $member){
echo
;
}
} else {
echo
Nessuno senza risposta
;
}
echo
;
?>
1234567123456887654328765431123456787654311234568
Capitolo 3 Paragrafo "Gestione delle foto"
api_client->photos_getAlbums('5032',null);
foreach ($albums as $album){
$photos = $facebook->api_client->photos_get(null,$album['aid'],null);
foreach ($photos as $photo)
{
echo " ";
}
}
?>
Capitolo 3 Paragrafo "Gestione delle pagine"
');
echo
Esempio uso pages_isAppAdded
;
echo ;
echo
Verifica se una applicazione θ stata aggiunta alla pagina
;
echo
Output grezzo:
;
print_r($facebook->api_client->pages_isAppAdded('6829493713'));
echo('');
?>
Capitolo 3 Paragrafo "Gestione delle pagine"
echo "Dettaglio in formato grezzo delle info sul tuo PRIMO amico della tua lista
;
if($friends){
foreach ($friends as $friend) {
echo
;
}
}else{
echo
Nessun amico sta usando l'applicazione.
;
}
echo
;
echo ;
?>
Capitolo 3 Paragrafo "Notifiche e News"
$templateid = // ottenuto dal sistema di creazione dei Feed template, prima veniva utilizzata la funzione feed_registerTemplateBundle, ma θ meglio utilizzare la Console di creazione dei Feed template, per una compatibilitΰ verso l'intero sistema di FB ed una piω semplice creazione del template stesso
$tokens = array(
'album'=>'the dark side of the moon',
'artist'=>'Pink Floyd',
'images'=>array(array('src'=>'http://www.quituosito/dsmoon.jpg','href'=>'http://www.quituosito/descrizionealbum.htm')));
//$target_ids puς essere un array di user IDs
$target_ids = array();
$body_general = '';
$Facebook->api_client->feed_publishUserAction($templateid, $tokens , implode(',', $target_ids), $body_general);
Capitolo 3 Paragrafo "Una prima applicazione completa"
PrincipaleAzione 1Azione 2Bottone 1
$azione = $_GET["ac"];
if (!isset($azione) || $azione == 0) {
$appapikey = 'PROPRIA API KEY';
$appsecret = 'PROPRIA APP SECRET';
$Facebook = new Facebook($appapikey, $appsecret);
$user_id = $Facebook->require_login();
echo "
";
echo "Nella lista dei tuoi amici, il secondo è ";
echo " ";
echo "ed i suoi eventi sono i seguenti: ";
$eventi = $Facebook->api_client->events_get($secondoamico, null, null, null, null);
echo "
";
$i = 1;
if ($eventi) {
foreach ($eventi as $evento) {
if ($i == 3) $terzoevento = $evento['eid'];
echo "
{$evento['name']} - luogo {$evento['location']}
";
$i++;
}
$i--;
echo " ";
echo "Questo tuo amico ha ben " . $i . " eventi! ";
$ev1 = $Facebook->api_client->events_get(null, $terzoevento, null, null, null);
echo "In particolare, gli utenti che partecipano al terzo evento con id " . $terzoevento . " e nome {$ev1[0]['name']} sono: