ho "quasi" risolto nel senso che va, ma un po' a banane.... mi aiutate a renderlo più funzionante? il codice mostra nome di chi sta accedendo alla pagina + lista amici e DOVREBBE PUBBLICARE post su bacheca utente. Il risultato è che:
qualche volta mi esce solo Hello, volta dopo hello + mionome, altra volta hello + mio nome + lista amici e QUALCHE VOLTA raramente il post me lo pubblica... come posso risolvere? grazie
codice:
<?php
require_once( "fbphp/src/facebook.php" );
$app_id = "miaid";
$app_secret = "miosecret";
$facebook = new Facebook( $api_key, $secret );
$my_url = "http://miosito";
$code = $_REQUEST["code"];
if(empty($code)) {
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
$dialog_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
. $_SESSION['state'];
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
if($_REQUEST['state'] == $_SESSION['state']) {
$token_url = "https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret . "&code=" . $code;
$response = @file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$graph_url = "https://graph.facebook.com/me?access_token="
. $params['access_token'];
$graph_url_friends = "https://graph.facebook.com/me/friends?access_token="
. $params['access_token'];
//richiama nome utente
$user = json_decode(file_get_contents($graph_url));
// richiama lista amici
$user_friends = json_decode(file_get_contents($graph_url_friends));
$id=$user->id;
echo("Hello " . $user->name);
$id_friends =$user_friends->data;
foreach ($id_friends as &$id_friend) {
?>
<?php
echo $friendNAME = $id_friend->name;
}
}
else {
echo("The state does not match. You may be a victim of CSRF.");
}
// Ottenere l'Application Token
$site_token = file_get_contents("https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=MIOID&client_secret=MIOSECRET");
// Impostare le variabili del messaggio
$messaggio = "MIOMESS";
$titolo = "TITOLO";
$caption = "CAPTION";
$link_name = "Leggi articolo completo";
$action_link = "LINK";
$testo = "Diventa anche tu fan!";
$image= "IMAGE";
echo "
-----------------va!!!!-----------------------------------------------------------";
$source_uid = $id; // ID di chi pubblica (ID della pagina o del proprio profilo)
$target_uid = $id; // ID della pagina o del proprio profilo
// Inviare il messaggio ( Stream Publish )
$url_facebook = "https://api.facebook.com/method/stream.publish?message=".$messaggio."&attachment={\"name\":\"".$titolo."\",\"href\":\"".$action_link."\",\"caption\":\"".$caption."\",\"description\":\"".$testo."\",\"media\":[{\"type\":\"image\",\"src\":\"".$image."\",\"href\":\"".$action_link."\"}]}&action_links=[{\"text\":\"".$link_name."\",\"href\":\"".$action_link."\"}]&target_id=".$target_uid."&uid=".$source_uid."&".$site_token."";
simplexml_load_file("".$url_facebook."");
?>