发布在Facebook用户的朋友墙上不起作用

时间:2012-04-28 19:46:03

标签: php facebook facebook-php-sdk

我试图完成Facebook用户的邀请,发布在他们的朋友墙或时间线上。

这就是我现在所拥有的,用户选择他的朋友通过多朋友选择器发送邀请,他发送邀请并通过回调获得被邀请朋友的ID。此回调通过ajax提交一个表单,其中的想法是将一些信息发布到此朋友墙或时间轴中。

然而,进入用户朋友的墙的帖子不起作用,我真的不知道为什么。这就是我现在所拥有的:(多朋友选择器功能未显示,因为它的工作正常,表格随用户ID一起提交)

$ids=$_POST['ids']; //comma separated string with friend's id
$userid=$_POST['userid'];//user id
$ids=explode(',', $ids);

$facebook = new Facebook(array(
  'appId'  => 'xxx',
  'secret' => 'xxx',
));

    for($i=0;$i<count($ids);$i++){
$attachment = array(
    'message' => 'Responde encuestas en Metrik y los dos ganamos 10 puntos!',
    'name' => 'Metrik Studios Social Surveys',
    'caption' => "responde encuestas y prueba productos novedosos a través de Metrik. Acumula kiloemtros Lanpass, recibe dinero, dona a fundaciones y mucho más.",
    'link' => $canvas_page.'?ref='.$userid,
    'description' => 'Metrik Studios',
    'picture' => 'http://metrikstudios.com/fbapp/logo.jpg',

);


$result = $facebook->api('/'.$ids[$i].'/feed/', 'post', $attachment);

}
?>

其他一些信息: 这是fb上的画布应用程序,用户向应用程序授予了publish_stream权限。我改变的时候:$ result = $ facebook-&gt; api('/'。$ ids [$ i]。'/ feed /','post',$ attachment); for:$ result = $ facebook-&gt; api('/ me / feed /','post',$ attachment);帖子被制作成用户提要

感谢您的帮助!

编辑:好的,我认为问题是应用程序处于沙盒模式。这样,没有人能看到应用帖子。

实际上,我关闭了沙箱模式,并将20个帖子转换为我的朋友提要。这可能吗?希望如果有人陷入这种愚蠢的境地,就像我做的那样,这会有所帮助

1 个答案:

答案 0 :(得分:0)

使用此语法代替发布到某个人的Facebook Wall。

try {
    $newStatus = $facebook->api("/$USERID/feed", 'POST',
    array(
      'link' => "https://apps.facebook.com/XXXXXXXXX",
      'picture' => "https://XXXXXXXXX", //colour
      'name' => "XXXXXXXXX",
      'description' => "XXXXXXXXX",
      'access_token' => $access_token
     ));
     //echo '<pre>Post ID: ' . $newStatus['id'] . '</pre>';
} catch(FacebookApiException $e) {
        error_log($e->getType());
        error_log($e->getMessage());
        //echo '<textarea style="width: 300px; height: 200px;">' . $e->getMessage() . '</textarea>';
}