giovedì 29 agosto 2013

Creazione di post automatici su Facebook (2)

Proseguendo il discorso iniziato con il post precedente adesso si cerca di pubblicare un post senza l'interazione utente utilizzando l'access token

La stringa dell'access token e' quella lunga stringa alfanumerica che viene prodotta come risultato dallo script del post precedente
Per la politica di Facebook attualmente questo metodo funziona solo per 60 giorni perche' gli access token hanno una durata temporale; dopo tale scadenza l'utente deve riloggarsi  manualmente ed ottenere un nuovo access token

Questo script di fatto e' una versione semplificata del precedente in cui tutta la fase di autenticazione e' contenuta nell'access token

E' stato leggermente modificato il campo messaggio in modo da renderlo dinamico.
In questo modo se si aggiunge la variale msg alla URL si modifica il testo del messaggio
tipo

http://www.mioserver//script.php?msg=Luca

--------------------------------------------------------------------
<?
require_once '../src/facebook.php';

$appid = '6731359560xxxxxx';
$appsecret = 'dde6cfb07dbb769c7efe949cxxxxxxx';
$msg = $_GET["msg"];
$title = 'Messaggio Automatico Arduino';
$uri = 'http://debiaonoldcomputers.blogspot.com/';
$desc = 'Luca Innocenti.';
$pic = 'http://3.bp.blogspot.com/-29lac_xBKKs/Uh2lzQIpU4I/AAAAAAAALI0/u-KyYf28cEs/s400/Basic-+Facebook+Developers.jpg';
$action_name = 'Action Link in the Footer of the Post';
$action_link = 'http://debiaonoldcomputers.blogspot.com/';

$facebook = new Facebook(array(
 'appId' => $appid,
 'secret' => $appsecret,
 'cookie' => false,
 ));

 $user = $facebook->getUser();
 $accessToken = "CAAJkNq2LttoBAJywtmNSbVHqFPubOjYmQ2yyUG4kpibD75BHid9J7xsvif8osSOc4ewgK4aYerrLZBsZCQM5wykRTYVLDkCJXlXYl3gi8WFRQ8U4p4y4ZAXYsdamz6RVdRJZAe4vZA80mWBayuG0qc4IAj2TMDmQXKiv1OrKp8CwKjD6Rz2ZCAqpxxxxxxxx";

$attachment = array(
'access_token' => $accessToken,
'message' => $msg,
'name' => $title,
'link' => $uri,
'description' => $desc,
'picture'=>$pic,
'actions' => json_encode(array('name' => $action_name,'link' => $action_link))
);
$status = $facebook->api("/me/feed", "post", $attachment);
print "Ok";
?>