【问题标题】:Sharing and commenting Facebook posts from my website从我的网站分享和评论 Facebook 帖子
【发布时间】:2012-11-08 18:26:34
【问题描述】:

我无法在我的网站上分享和评论 Facebook 帖子。

看。 在 Twitter 中,我们可以简单地通过链接回复推文

https://twitter.com/intent/tweet?in_reply_to=35782000644194304

我们可以通过这个链接转发推文

https://twitter.com/intent/retweet?tweet_id=35782000644194304

这很简单,点击后你会重定向到 twitter,你可以在其中执行此操作,我喜欢它。

使用 facebook 帖子并不是那么容易。 我在我的网站上有 Facebook 帖子(帖子的副本,我之前解析过它们并保存到我的数据库,我也保存的帖子的 ID),我想分享/评论/喜欢这个帖子。也许 Facebook 有 twitter 之类的链接,或者其他方式,我不知道,但我花了一整天时间寻找解决方案,但我失败了。

也许可以像这样创建链接:

http://facebook.com/ID_OF_THAT_FB_POST/share 要么 http://facebook.com/ID_OF_THAT_FB_POST/comment

并且..点击链接后,它会重定向到 facebook 页面,您可以在其中分享此帖子或评论?

【问题讨论】:

    标签: javascript facebook facebook-javascript-sdk


    【解决方案1】:

    好吧,让我看看我是否理解,如果您想从您的网站在 Facebook 上分享/评论/赞一个帖子,那么您可以使用 Graph API、POST、连接部分。 https://developers.facebook.com/docs/reference/api/post/

    这允许您创建评论和点赞,拥有正确的 access_token 和 stream_publish 权限。

    创建: 您可以通过发出具有 publish_stream 权限和以下参数的 HTTP POST 请求写入 POST_ID/cmets 连接以向帖子发表评论。

    所以你必须向http://graph.facebook.com/POST_ID/comments?message=HELLO+WORLD&access_token=YOUR_ACCESS_TOKEN 发出 HTTP POST 请求

    同样的事情:

    http://graph.facebook.com/POST_ID/likes?access_token=YOUR_ACCESS_TOKEN发出 HTTP POST 请求

    使用 Javascript SDK 会是这样的:

    var postID='POST_ID';
    var msg = 'Comment this post';
    FB.api('/'+postID+'/comments', 'post', { message: msg }, function(response) {
      if (!response || response.error) {
        alert('Error occured');
      } else {
        alert('Post ID: ' + response.id);
      }
    });
    

    如果你想分享,没有 API 文档,但你可以使用这样的东西:

    <script type="text/javascript">
    function sharePost(){
     var page = 'https://www.facebook.com/permalink.php?story_fbid=POST_ID&id=PAGE_ID';
     var sharer= 'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(page);
     var w=660;
     var h=460;
     var sTop=window.screen.height/2-(h/2);
     var sLeft=window.screen.width/2-(w/2);
     var sharer= window.open(sharer,"Share","status=1,height="+h+",width="+w+",top="+sTop+",left="+sLeft+",resizable=0");
     return false;
    }
    </script>
    
    <a onclick="sharePOST()">SHARE POST</a>
    

    【讨论】:

      【解决方案2】:

      尽管您可以查找任何类型的社交小部件的 iframe url 结构并尝试使用,但不要认为 facebook 还具有此类 API。这是您可以查看的列表https://developers.facebook.com/docs/guides/web/#plugins。考虑到共享按钮已被弃用以支持点赞。此外,我宁愿避免繁重的代码定制并尝试尽可能多地使用 API,这将有助于避免未来在 facebook 发展过程中出现不兼容性)

      【讨论】:

        猜你喜欢
        • 2012-05-05
        • 1970-01-01
        • 1970-01-01
        • 2013-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-23
        相关资源
        最近更新 更多