同步评论到多说

接口说明

同步评论信息到多说,用于历史评论的展示。同步前,请参考文档先同步相关文章信息。
建议控制单次同步的条数在50条以内,或数据大小200kB以内,以避免服务器间通信超时。

URL

http://api.duoshuo.com/posts/import.`返回格式`

返回格式支持:json, jsonp

HTTP请求方式

POST

是否需要登录

请求参数

short_name string 必需

站点申请的多说二级域名。

secret string 必需

站点密钥。

posts array 必需

评论列表。(对于数组参数不了解的开发者,请看文末的示例)

下面为评论参数:(与文件导入方式参数一致)

[必须属性]

post_key

这条评论在当前站点的ID

thread_key

这条评论所对应文章在当前站点的ID

message

评论内容

[可选属性]

post_id

对于从多说导出的数据,再次导入多说,会根据此id进行匹配,自动忽略post_key参数

parent_key

父级评论在当前站点的ID

author_key

评论者在当前站点的ID

author_name

评论者的用户名

author_email

评论者的邮箱,如果没有设置头像会根据这个信息从gravatar获取头像

author_url

评论者的URL,评论者头像或者名字会跳转到改URL

ip

评论者的IP

agent

评论者User Agent信息,通常包括浏览器版本、引擎、设备等信息

likes

这条评论被【赞】的次数,该属性导入意义不大,会在被喜欢之后重新统计

reports

对这条评论点了【举报】的次数

created_at

评论发表时间。请注意时间的格式为yyyy-mm-dd hh:MM:ss。如2012/12/12 12:12:122012-1-12 12:12:12的格式,都不会被成功识别,第二个时间是因为月份应为01

status

评论状态。支持:approved:已通过,pending:待审核,deleted:已删除。不建议将已删除数据导入多说,会在到期30天之后自动从数据库中清除。

返回数据示例

{
    "code":0,
    "response":
        {
        "1001":"1152985276292923001",
        "1002":"1152985276292923002",
        "1003":"1152985276292923003",
        "aboutme":"1152985276292923004"
        }
    }
}

返回数据参数说明

code int 一定返回

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

errorMessage string

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

response array

多说api返回结果中,通常在response中含有主要返回数据。当code为0时返回。response是以post_key为主键,post_id为值的数组

post_id int64 一定返回

评论在多说的对应id

代码示例

部分开发者对于http请求中的数组不是很了解,以下以同步用户到多说的接口中的参数准备为例,写一段代码示例:

<?php
$data = array();
$data['short_name'] = 'apitest';
$data['secret'] = '1231323123123';
$data['users'] = array();
$data['users'][] = array(
    'user_key' => 1,
    'name' => 'test',
    );
$data['users'][] = array(
    'user_key' => 2,
    'name' => 'hehe',
    );
$param = http_build_query($data, '', '&');
echo $param;

输出的结果是:

short_name=apitest&secret=1231323123123&users[0][user_key]=1&users[0][name]=test&users[1][user_key]=2&users[1][name]=hehe

php中使用了http_build_query来将php数据生成http请求的参数,在其他编程语言中,也存在类似的函数或包来完成相应工作,对于没有找到类似函数的开发者,请按照上述格式进行数据格式化