
但是相信一些用户可能,都遇到了在线管理功能失效,以及无法获取Gravater头像的问题,这并不是 disqus-php-api 的问题。
而是 Disqus 官方在接口处,不再直接返回 email 和 ipAddress 这两个重要参数,而是只返回 添加 * 号处理隐私后的结果。
接口:/api/3.0/threads/listPostsThreaded

遗憾地是,emailHash这个参数返回始终也是空值,而且源码中,关于 管理员权限 的判定,是根据 email的值 去做的。
事实上,原来由两种方式,获取 email 和 ipAddress 的原始值:
1 模拟登陆:通过用户名和密码,模拟登陆 Disqus,截取到response header中sesssion的 cookie 信息后,存入缓存,再在请求 api接口时,附加 cookie。
2 按照Disqus官方的方式,授权Api有在线管理的权限,然后通过accesstoken,去请求接口,但这样月度调用上限,不能超过1000的限制。
解决办法,以前的邮箱拿不到了,我们修改 postcomment.php,在用户提交信息时,将邮箱按照post的id对应邮箱的方式,将数据存到本地,实现的php代码如下:

然后,修改 init.php 中 post_format 方法,在其中,添加下面的内容:

这样以后,新增加的评论,如果用户填写了邮箱,就会通过邮箱的md5,去获取 Gravater头像。
P.S.
设置Gravater头像,现在需要使用Wordpress账号登陆,所以,以前可以轻松设置的头像,现在可能需要花费一点功夫啦~