2012-03-23 15 views
3

Ich habe ein Skript, um auf Facebook zu posten, aber ich habe Probleme damit, wie die Daten auf Facebook gepostet werden.Mit php auf Facebook-Seite posten

Da es andere hier helfen kann, ist der vollständige Code

<?php 
require 'facebook.php'; 
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 0; 
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = 0; 

$pageId = "XXXXXXXX"; 
$permSess = "XXXXXXXXXXXXXXXX"; 

$facebook = new Facebook(array(
    "appId" => "XXXXXXXXXX", 
    "secret" => "XXXXXXXXXX", 
    "cookie" => true 
)); 

$page = $facebook->api("/{$pageId}"); 
?> 

<!doctype html> 
<html xmlns:fb="http://www.facebook.com/2008/fbml"> 

    <head> 
     <title>Post to Page Wall</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" 
     /> 
     <meta name="description" content="Post to page's wall" /> 
     <style> 
      body { 
       font-family:'Lucida Grande', Verdana, Arial, sans-serif; 
       background-color: #f2f2f2; 
      } 
      h1 a { 
       text-decoration: none; 
       color: #3b5998; 
      } 
      h1 a:hover { 
       text-decoration: underline; 
      } 
      form { 
       border: 1px solid #eee; 
       padding: 20px; 
       width: 550px; 
      } 
      textarea, select, input, label { 
       width: 500px; 
       border: 1px solid #ddd; 
       height: 20px; 
       clear: both; 
       margin: 10px; 
      } 
      textarea { 
       height: 100px; 
      } 
      label { 
       border: none; 
       font-weight: bold; 
      } 
      input#submit { 
       width: 100px; 
      } 
     </style> 
    </head> 

    <body> 
     <h1>Post to Friend's Wall</h1> 
     <?php if(isset($_POST[ 'submit'])) { $link=$ 
     _POST[ 'link']; $message=$ _POST[ 'message']; $attachment=a rray($message,$link 
     ); $rest=$ facebook->api(array("uid" => $pageId, "method" => "stream.publish", "access_token" 
      => $permSess, "message" => $message)); } ?> 
      <form id="Wall" name="Wall" 
      method="post"> 
       <label for="URL">URL:</label> 
       <input id="link" name="link"> 
       <label for="Message">Message:</label> 
       <textarea id="message" name="message"></textarea> 
       <input type="submit" name="submit" id="submit" value="Send!"> 
      </form> 
    </body> 

</html> 

Das Problem:

Ich war mit einem Beispiel geschrieben here und die Verwendung dieses Beispiels der Links auf dem URL-Feld vorgelegt, in denen über die Entsendung von immer facebook wie wenn du es selbst machst (mit dem Bild und der Beschreibung der Seite), aber mit meinem Code kann ich es nicht auf die gleiche Weise passieren lassen.

Auf "How can I post to the wall of a Facebook Fan Page using PHP and Open Graph API" einige Benutzer hatten eine Antwort geschrieben, funktionieren aber nicht in meinem Fall.

Der Unterschied zwischen meinem Code und dem Code auf der anderen Seite ist der „$ attachment“ Teil des Codes

<?php 
if (isset($_POST['submit'])) { 
    $sendTo = $_POST['friend']; 
    $link = $_POST['link']; 
    $message = $_POST['message']; 

    // all options: https://stackoverflow.com/questions/691425/how-do-you-post-to-the-wall-on-a-facebook-page-not-profile 
    $attachment = array(
     'message' => $message, 
     'link' => $link 
    ); 

    if ($result = $facebook->api("/$sendTo/feed/", 'post', $attachment)) { 
     $feedbackMessage = "Message sent to friend $sendTo"; 
    } else { 
     $feedbackMessage = "Oops something went wrong"; 
    } 
} 
?> 

So ... die Frage ist, wie man richtig ohne Verlust auf eine Facebook-Seite posten irgendwelche Vorteile oder die Formatierung mit meinem Skript.

Vielen Dank im Voraus

+1

Bitte posten Sie den geänderten Code in einer Antwort unten, anstatt die Frage zu ändern. – BoltClock

Antwort

3

, die Sie die Facebook-Seite veröffentlichen lassen und das Format halten, habe ich, was Sie meinen!

<?php 
if(isset($_POST['submit'])) { 
      $link = $_POST['link']; 
      $message = $_POST['message']; 



$attachment = array(
     'access_token' => $permSess, 
     'message' => $message, 
     'link' => $link 

    ); 
if( $result = $facebook->api(
     "/".$pageId."/links", 
     'post', 
     $attachment 
    )){ 
       $feedbackMessage = "Message sent to friend $sendTo"; 
      } else { 
       $feedbackMessage = "Oops something went wrong"; 
      } 

} 
?> 
Verwandte Themen