Facebook离线墙贴

时间:2011-04-25 04:11:09

标签: facebook

我确实有Restaraunt网站,它有facebook注册模块供用户注册。我的网站有两种用户,一种是普通注册用户,第二种用户是Facebook注册用户。到目前为止,这似乎工作正常。在网站上,所有用户都可以发布自己的酒店,收藏等评论。

我需要一种方法,通过使用我存储在我的数据库中的Fb详细信息(Fbid),自动共享Facebook网站中用户Facebook墙的评论,喜欢和收藏。每个评论都需要使用他/她自己的fb-id发布到FB墙,而无需使用fb登录。是否有任何php-Facebook插件/ JSSDK可以满足这一要求?

我使用了以下几行库代码,但现在还没有发生任何事情。

require_once 'facebook.php';
$api_key = 'yyyyyyyyyyyyyyyyyyy';
$secret = 'xxxxxxxxxxxxxxxxxxxx';
$name = 'Publish feed code example';
$id='100001948358224';
$name_href = 'http://forum.developers.facebook.com/viewtopic.php?id=44721';
$caption = 'A simple code caption text';
$description = 'The new Facebook.streamPublish code to pop up a publish feed form';
$img_1 = 'http://www.applications.junkieyard.com/fbfgsfy/images/smileys/smiley-09-05.png';
$img_1_href = 'http://apps.facebook.com/fbfgsfy/profile.php';
$action_links_text = 'Facebook?';
$action_links_href = 'http://www.facebook.com/';
$attachment = array('name' => $name, 'href' => $name_href, 'caption' => $caption, 'description' => $description, 'media' => array(array('type' => 'image', 'src' => $img_1, 'href' => $img_1_href)));
$action_links = array(array('text' => $action_links_text, 'href' => $action_links_href));
if ($id) {

    $target_id = $id;
    ?>
    <script>
        var message = "";
        var attachment = <?=json_encode($attachment)?>;
        var action_links = <?=json_encode($action_links)?>;
        var target_id = <?=$target_id?>;
        alert(Facebook.streamPublish(message, attachment, action_links, target_id));
    </script>
    <?php
}

&GT;

2 个答案:

答案 0 :(得分:2)

在facebook中不再使用offline_access,新方式是TOKEN到新端点的到期时间 在https://developers.facebook.com/roadmap/offline-access-removal/

了解更多信息

答案 1 :(得分:1)

您需要向用户请求publish_streamoffline_access permissions在会话未激活时在他们的墙上发帖。

要以编程方式在自己的留言板上发布,请使用FB.ui

feed方法
FB.ui(
    {
        method: 'feed',
        name: 'Restaurant App',
        link: 'http://apps.facebook.com/yourapp',
        caption: 'Check out my review',
        description: 'The most awesome restaurant ever.',
        message: 'Check out this awesome app'
    },
    function(response) {
        console.log(response);
        console.log(response.post_id);
        if (response && response.post_id) {
            console.log('Post was published.');
        } else {
            console.log('Post was not published.');
        }
    }
    );

要查看上面的代码,请查看the demo app FBRell