在PHP站点的页面上添加Facebook评论插件的实例教程

首先,需要在facebook创建一个APP,创建方法见https://developers.facebook.com/,APP有一项是填写Domain的,这里填写你website的Domain。(APP是绑定domain的,不能乱填)
然后就可以使用facebook comments plugins。

使用facebook comments plugins,可以在页面中插入facebook comments。
生成code方法:https://developers.facebook.com/docs/plugins/comments

例如:有一个页面是http://www.example.com/ ,在这个页面中插入以下代码便可以使用comments plugings。

<!-- include facebook js sdk -->
<script id="facebook-jssdk" src="https://connect.facebook.net/en_GB/all.js#xfbml=1&appId=这里填写APPID"></script> 

<!-- comments plugins -->
<fb:comments colorscheme="light" numposts="4" height="360px;" width="614px" href="http://www.example.com/" fb-xfbml-state="rendered" class="fb_iframe_widget"></fb:comments>

在页面上显示如下

读取页面的分享总数与评论总数

https://graph.facebook.com/?ids={YOUR_URL}

{YOUR_URL} 需要 urlencode
例如:https://graph.facebook.com/?ids=http%3A%2F%2Fwww.example.com%2F
返回:

{
  "http://www.example.com/": {
   "id": "http://www.example.com/",
   "shares": 399517,
   "comments": 392
  }
}

代码如下:

<?php
$url = 'http://www.example.com/';
$api = 'https://graph.facebook.com/?ids='; 

$result = json_decode(file_get_contents($api.urlencode($url)), true); 

print_r($result);
?>

读取页面评论列表

https://graph.facebook.com/comments/?ids={YOUR_URL}

{YOUR_URL} 需要 urlencode
例如:https://graph.facebook.com/comments/?ids=http%3A%2F%2Fwww.example.com%2F
返回:

{
  "http://www.example.com/": {
   "comments": {
     "data": [
      {
        "id": "395320319544_27462154",
        "from": {
         "id": "100000223906701",
         "name": "Thu\u1eadn Phan Thanh"
        },
        "message": "hello moto",
        "can_remove": false,
        "created_time": "2013-10-07T10:01:40+0000",
        "like_count": 1,
        "user_likes": false
      },
      {
        "id": "395320319544_27877980",
        "from": {
         "id": "100001638736612",
         "name": "L\u00e3 Minh"
        },
        "message": "hi you",
        "can_remove": false,
        "created_time": "2013-11-13T02:57:01+0000",
        "like_count": 4,
        "user_likes": false
      },
      {
        "id": "395320319544_27879381",
        "from": {
         "id": "100004229015145",
         "name": "Th\u00f9y Dung"
        },
        "message": "Mg \u1ee7ng h\u1ed9 t\u1edb v\u1edbi nh\u1edb \u003C3",
        "can_remove": false,
        "created_time": "2013-11-13T05:38:12+0000",
        "like_count": 3,
        "user_likes": false
      }
      ...
     ],
     "paging": {
      "cursors": {
        "after": "MjU0",
        "before": "Mzk4"
      },
      "next": "https://graph.facebook.com/v1.0/395320319544/comments?limit=25&after=MjU0"
     }
   }
  }
}

根据next的url再请求可以获取下一页的评论内容

代码如下:

<?php
$url = 'http://www.example.com/';
$api = 'https://graph.facebook.com/comments/?ids='; 

$result = json_decode(file_get_contents($api.urlencode($url)), true); 

print_r($result);
?> 
(0)

相关推荐

  • PHP基于反射机制实现插件的可插拔设计详解

    本文实例讲述了PHP基于反射机制实现插件的可插拔设计.分享给大家供大家参考,具体如下: 说PHP和ASP等同的朋友们可以就此打住了,PHP支持反射,而且还是非常的强大.好了,我们开始今天的话题. 功能描述: 页面拥有一个主导航菜单,里头有默认连接若干. 插件统一存放在一个目录,插件载入后会自动在导航菜单中增加上自己所需的链接. 插件载入时可执行一定的操作. 动态增删插件无需改动代码. 最终效果: 首页,插件1,插件2 "首页"是系统自带的菜单项."插件1"和&quo

  • PHP反射机制用法实例

    本文实例讲述了PHP反射机制的用法,分享给大家供大家参考之用.具体方法如下: 演示示例代码如下所示: <?php class ClassOne { function callClassOne() { print "In Class One"; } } class ClassOneDelegator { private $targets; function __construct() { $this->target[] = new ClassOne(); } function

  • Thinkphp和onethink实现微信支付插件

    thinkPHP和微支付实现的微信支付插件,在微信中调用微信jssdk实现支付,这里有详细的代码和教程,具体看这里: //实现的Wxpay钩子方法 public function Wxpay($param){ require './Addons/Wxpay/WxPayPubHelper/WxPayPubHelper.php'; $jsApi = new \JsApi_pub(); //=========步骤1:网页授权获取用户openid============ if (!isset($_GET

  • PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例

    平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错,但是由于手机不支持flash,所以不得不再找一个文件上传插件来用了.后来发现ajaxFileUpload这个插件挺不错,所以就用这个插件来做异步上传文件的效果.网上也有很多对ajaxFileUpload插件的使用的文章,不过我发现没有PHP版,所以这次服务器那边的处理就使用PHP语言来处理. 一.详解ajaxFileUpload插件的语法参数 原理:ajaxfileupload是通过监听iframe的onload方

  • PHP框架Laravel插件Pagination实现自定义分页

    Laravel 的分页很方便,其实扩展起来也挺容易的,下面就来做个示例,扩展一下 paginate() 和 simplePaginate() 方法,来实现我们自定义分页样式,比如显示 "上一页" 和 "下一页" ,而不是 "<" 和 ">" ,当然扩展的方法掌握了你就可以肆无忌惮的扩展一个你想要的分页了,比如跳转到某一页,分页显示一共多少记录,当前显示的记录范围等等巴拉巴拉的... 5.1和5.2应该是同样的方法,

  • 在PHP中使用反射技术的架构插件使用说明

    反射API的插件方法是基于在运行时决定程序的功能来实现的,也就是说,它允许创建可选的接口方法,并在首次使用时检测到这部分接口方法,只有在插件中存在这部分接口的情况下,它们才会被用到. 假设拥有这样的接口 复制代码 代码如下: interface IPlugin{ function getMenuItems(); function getArticles(); function getSideBars(); } class Someplugin implelents IPlugin{ public

  • php利用反射实现插件机制的方法

    本文实例讲述了php利用反射实现插件机制的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php /**  * @name    PHP反射API--利用反射技术实现的插件系统架构  */   interface Iplugin{       public static function getName();   }   function findPlugins(){       $plugins = array();       foreach (get_declar

  • PHP使用反射机制实现查找类和方法的所在位置

    本文实例讲述了PHP使用反射机制实现查找类和方法的所在位置.分享给大家供大家参考,具体如下: //参数1是类名,参数2是方法名 $func = new ReflectionMethod('UnifiedOrder_pub', 'getPrepayId'); //从第几行开始 $start = $func->getStartLine() - 1; //从第几行结束 $end = $func->getEndLine() - 1; //获取路径地址 $filename = $func->get

  • PHP中的reflection反射机制测试例子

    Java类反射应用得非常广泛几乎是所有框架的最核心部分,PHP程序员似乎从不关心反射.尝试着用java的思想去理解php的反射,跟java基本上基本一致.参考了php手册:http://www.php.net/manual/zh/book.reflection.php. ReflectTest.php: <?php   class ReflectTest {       /**      * 用户ID      */     private $userId;       /**      * 用

  • PHP 反射机制实现动态代理的代码

    演示用代码如下所示:  复制代码 代码如下: <?php class ClassOne { function callClassOne() { print "In Class One"; } } class ClassOneDelegator { private $targets; function __construct() { $this->target[] = new ClassOne(); } function __call($name, $args) { fore

  • 实例介绍PHP的Reflection反射机制

    PHP5添加了一项新的功能:Reflection.这个功能使得程序员可以reverse-engineer class, interface,function,method and extension.通过PHP代码,就可以得到某object的所有信息,并且可以和它交互. 假设有一个类Person: 复制代码 代码如下: class Person {   /**      * For the sake of demonstration, we"re setting this private    

随机推荐