A. Iacubino, R. Marmo
Creare applicazioni per Facebook
Editore FAG, 2009
ISBN 978-88-8233-814-5
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_isAppAdded()) {
$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: