Esempi di pubblicazione automatica di post su Facebook se ne trovano a decine ma sono quasi tutti inutili perche' relativi ad API e sistemi di autenticazione non piu' in utilizzo presso Facebook
Per prima cosa, come visto in questo post, si deve creare una applicazione Facebook scegliendo stavolta App on Facebook.
Si devono quindi compilare i dati delle informazioni di base, togliere la modalita' SandBox e poi indicare l'indirizzo della directory del server dove sono contenuti gli script Php che contengono l'applicazione (anche qui l'indizzo del server deve essere FQD e deve essere disponibili https)
a questo punto si inizia a lavorare sul lato server copiando l'SDK PHP di Facebook ed aggiungendo il seguente script (ripreso da questo link) nella directory indicata nella schermata precedente
--------------------------------------------------------------
<?php
require_once '../src/facebook.php';
// configuration
$appid = '67313595xxxxxxxx';
$appsecret = 'dde6cfb07dbb769c7efxxxxxxx';
$msg = 'Messaggio';
$title = 'Titolo';
$uri = 'http://www.google.com';
$desc = 'Descrizione';
$pic = 'http://www.testcom/test.png';
$action_name = 'Action Link in the Footer of the Post';
$action_link = 'http://www.nathanbolin.com';
$facebook = new Facebook(array(
'appId' => $appid,
'secret' => $appsecret,
'cookie' => false,
));
$user = $facebook->getUser();
// Contact Facebook and get token
if ($user) {
// you're logged in, and we'll get user acces token for posting on the wall
try {
$accessToken = $facebook->getAccessToken();
if (!empty( $accessToken )) {
$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);
} else {
$status = 'No access token recieved';
}
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
} else {
// you're not logged in, the application will try to log in to get a access token
header("Location:{$facebook->getLoginUrl(array('scope' => 'photo_upload,user_status,publish_stream,user_photos,manage_pages'))}");
}
print_r($status);
?>
------------------------------------
Se tutto e' andato a buon fine si avra' come risultato una pagina con scritto l'access token utilizzato (ovvero l'autorizzazione di Facebook) e nel proprio profilo Facebook si avra' il post pubblicato
Il passo successivo sara' utilizzare l'access token per evitare che vi debba essere l'interazione umana per effettuare il login in modo da permettere ad Arduino di pubblicare dati in automatico