0

我试图完成来自 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->api('/'.$ids[$i].'/feed/', 'post', $attachment); 对于: $result = $facebook->api('/me/feed/', 'post', $attachment); 帖子被编入用户供稿

谢谢您的帮助!

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

实际上,我关闭了沙盒模式,并喜欢将 20 个帖子添加到我的朋友提要中。这可能吗?希望如果有人像我一样陷入这种愚蠢的境地,这会有所帮助

4

1 回答 1

0

改用此语法在某人的 Facebook 墙上发帖。

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>';
}
于 2012-04-28T20:14:48.600 回答