您现在的位置是:首页 > 其他

李清波 2015-09-23 其他 2057 复制当前网址

多说如何获取文章评论数、转发数


下面的方法是根据多说官网本身的教程做一个详细的分析和整理


接口名称

/threads/counts


调用接口的方法

http://api.duoshuo.com/threads/counts.json?short_name=official&threads=4ff1cbc43ae636b72a00001d


这里要注意的就是这两个参数,我们来解释一下

short_name 为在多多注册的时候我们填写的二级域名的名称

如:“liqingbo”


threads 为你需要获取的文章的thread-key,可传递多个thread_key,即文章在原站点中的id,与评论框中data-thread-key一致。用逗号分割。

而在哪里获得呢?如图


当我们在浏览器输入上面的“调用接口的方法”时,就会返回下面的信息


返回结果:

{
    response: [{
            thread_id: "3674083",
            thread_key: "4ff28d95552860f21f000010",
            comments: 20,
            reposts: 0,
            likes: 0,
            dislikes: 0,
            weibo_reposts: 1,
            qqt_reposts: 1
        }
    ],
    options: {
        comments_zero: "暂无评论",
        comments_one: "1条评论",
        comments_multiple: "{num}条评论",
        reposts_zero: "暂无转发",
        reposts_one: "1条转发",
        reposts_multiple: "{num}条转发"
    },
    code: 0
}

如果对于上面返回这些信息不明白的话,可以参考以下参数说明。


返回数据参数说明


  code int 一定返回

  结果码。0为成功。失败时为错误码。

  errorMessage string

  错误消息。当code不为0时,返回错误消息。

  response object

  多说api返回结果中,通常在response中含有主要返回数据。当code为0时返回。

  thread_id

  文章在多说数据库中的ID。

  thread_key

  文章在原站点中的id或其他唯一标识。

  comments

  文章评论数。

  likes

  文章被点【喜欢】的次数。

  dislikes

  (暂未使用)。

  weibo_reposts

  文章的新浪微博转发数。

  qqt_reposts

  文章的腾讯微博转发数。



当以上的信息成功获取以后,我们应该如何进一步处理呢?

因为调用接口获取的信息是json格式,并非我们所熟悉的php 数组格式,这时候我们需要通过php函数再次处理一下就行了


示例:


获取多说评论数的API接口

$apiUrl = 'http://api.duoshuo.com/threads/counts.json?short_name=official&threads=4ff1cbc43ae636b72a00001d';


通过file_get_contents()函数获取参数信息

$result = file_get_contents($apiUrl );


得到结果后,通过json_decode()函数将json值转换成数组

$jsonArray = json_decode($result,true);


我们再打印出转换后的php数组值

var_dump($jsonArray);



到这一步的时候我相信大家都应该知道怎么做了吧?

文章来源:http://liqingbo.com/blog-419.html

评论