2012-09-17 17 views
0

我想在我的Facebook USER帐户墙上发布一些测试墙贴(不是任何Facebook页面或Facebook应用程序只是普通用户帐户)。我尝试了下面的Facebook SDK,但没有发生任何事情,只是要求我登录。但我想以编程方式登录,请告诉我如何执行此操作并发布到我自己的墙上?如何授权我的PHP代码在Facebook上发布?

require_once "API_Library/Facebook/src/facebook.php"; 
$config = array(
     'userId' => 'USER_ID', 
    ); 

    $facebook = new Facebook($config); 
    $user_id = $facebook->getUser(); 

if($user_id) 
      { 

       // We have a user ID, so probably a logged in user. 
       // If not, we'll get an exception, which we handle below. 
       try 
       { 
        $user = $config['userId']; 
        $user_profile = $facebook->api('/me', 'GET'); 
        echo "Name: " . $user_profile['name']; 
        $ret_obj = $facebook->api('/me/feed', 'GET', array(
         'link' => "https://www.facebook.com/$user", 
         'message' => 'Posting with the PHP SDK!' 
          )); 
        echo '<pre>Post ID: ' . $ret_obj['id'] . '</pre>'; 
       } 
       catch(FacebookApiException $e) 
       { 
        $login_url = $facebook->getLoginUrl(); 
        echo 'Please <a href="' . $login_url . '">login.</a>'; 
        error_log($e->getType()); 
        error_log($e->getMessage()); 
       } 
      } 
      else 
      { 

       // No user, print a link for the user to login 
       $login_url = $facebook->getLoginUrl(); 
       echo 'Please <a href="' . $login_url . '">login.</a>'; 
      } 

回答

1

你正在做一个HTTP GET一个HTTP POST,而不是在

$ret_obj = $facebook->api('/me/feed', 'GET', array(
        'link' => "https://www.facebook.com/$user", 
        'message' => 'Posting with the PHP SDK!' 
         )); 

您可能需要更改API的方法来代替POST

相关问题