Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305

    [facebook apps] pubblicare post su mia bacheca

    non ci capisco una mazza e pasticciando con i pochi codici trovati in rete sono riuscita a farmi dire hello e a visualizzare lista amici. Ora vorrei riuscire a pubblicare un messaggio su mia bacheca... come faccio? ho provato con le 2 righe di codice sottostante
    ma mi da l'errore "Fatal error: Call to a member function stream_publish() on a non-object in...". Alla mia applicazione ho messo come extended permission la voce public_stream, ma non so fare di più... aiuto!!!

    $testo="ciao";
    $facebook->api_client->stream_publish($message);

    ecco il mio codice al completo (mi dice hello e mi fa vedere la mia lista amici):
    codice:
    <?php
    require_once( "facebook.php" );
    $app_id = "mionum";
    $app_secret = "miosecret";
    
    $facebook = new Facebook( $api_key, $secret );
    
    ?>
     <?php 
    $my_url = "http://miosito/miapagina.php";
      
    $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));
    
         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.");
       }
    
    ?>

  2. #2
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    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."");
    ?>

  3. #3
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    Originariamente inviato da luisa227
    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."");
    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.