2012-02-21 135 views
-1

出于某种原因,以下方面不起作用。使用图表API发布到Facebook墙

我有publish_stream权限。什么可能是错的?

function publishToFacebook($app_id, $app_secret, $fb_id) { 
    require_once '../facebook-php-sdk-dafef11/src/facebook.php'; 
      $facebook = new Facebook(array(appId => $app_id, 
        secret => $app_secret, 
        cookie => true)); 
    if(is_null($facebook)) { 
    // some code; 
    die('bad'); 
    } 
    else { 
    // post to fb 
     try { 
      $post_id = $facebook->api('/' . $fb_id . '/feed/', 'post', array(
      'message' => 'my message', 
      'link' => 'http://example.com', 
      'picture' => 'http://example.com/images/logo.jpg', 
      'caption' => 'a caption' 
      )); 
      return $post_id; 
     } 
      catch (FacebookApiException $e) { 
      echo "Error:" . print_r($e, true); 
     } 
    } 
} 
+0

更新:我改为“我”,它的工作。但仍然没有为$ fb_id – 2012-02-21 19:40:59

+0

工作,同时,我得到错误#201“用户不可见” – 2012-02-21 19:42:21

+0

很抱歉,但给出了答案,那太本地化的,问题是你的API使用情况的错误之一,不是一个实际的编程问题。我很感激你花时间回答,但最终的答案表明,这个问题首先是有些缺陷的。 – casperOne 2012-02-26 00:56:36

回答

0

确保输入变量格式正确。

的问题是,我使用的是数字(整数)为fb_id $,而不是一个字符串。即使很难Facebook的ID是一个数字,它被保存为一个字符串,因此代码是不可读的Facebook。一旦我改变了输入,它完美的工作。